Problema al Guardar Datos

23/08/2006 - 13:56 por Ana | Informe spam
Hola,

Estoy intentando realizar una aplicación con un dataset tipado pero no
consigo almacenar los datos.

¿Alguien me puede indicar que estoy haciendo mal? Estoy comenzado ahora,
disculpen mi ignorancia

Gracias y un saludo,

1. Llamada
Private Sub cmdGuardar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdGuardar.Click


If SaveChanges() = True Then

MessageBox.Show("Los cambios se han guardado",
"RecepMerc", MessageBoxButtons.OK, MessageBoxIcon.Information)

Else

MessageBox.Show(Me.DataError, "RecepMerc",
MessageBoxButtons.OK, MessageBoxIcon.Error)

End If

End Sub

2. Función



Private Function SaveChanges() As Boolean

Try

RecepMercBindingSource.EndEdit() 'Aplica los cambios
pendientes al origen de datos subyacente.

RecepMercTableAdapter.Update(Me.RecepMercDataSet.RecepMerc)

LineasRecepMercTableAdapter.Update(Me.RecepMercDataSet.LineasRecepMerc)

Catch ex As Exception

Me.DataError = ex.Message

Return False

End Try

Try

RecepMercTableAdapter.Update(Me.RecepMercDataSet.RecepMerc)

LineasRecepMercTableAdapter.Update(Me.RecepMercDataSet.LineasRecepMerc)

Catch ex As Exception

Me.DataError = ex.Message

Return False

End Try

Return True

End Function

Preguntas similare

Leer las respuestas

#1 Roberto Roccha
23/08/2006 - 16:14 | Informe spam
Estimada Ana:

El probelma es que no obtienes los cambios, prueba esto:

1. Llamada
Private Sub cmdGuardar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdGuardar.Click

If SaveChanges() = True Then
MessageBox.Show("Los cambios se han guardado", "RecepMerc",
MessageBoxButtons.OK, MessageBoxIcon.Information)

Else

MessageBox.Show(Me.DataError, "RecepMerc",
MessageBoxButtons.OK, MessageBoxIcon.Error)>
End If

End Sub



2. Función

Private Function SaveChanges() As Boolean

'Creamos au nuevo dataset para poner los cambios que se han
realizado en el Data Set.
Dim objDataSetChanges As Nombreaplicacion.RecepMerc = New
Nombreaplicacion.RecepMerc
'Cancelamos la Edición Actual.
Me.BindingContext(RecepMerc, "NombreTabla").EndCurrentEdit()
'Obtenemos los cambios para ponerlos en el dataset.
objDataSetChanges = CType(RecepMerc.GetChanges,
Nombreaplicacion.RecepMerc)

'Chequeamos si se ha relizado algún cambio.
If (Not (objDataSetChanges) Is Nothing) Then
Try
'Los cambios aquí necesitan ser puestos, para intentar
actulizarlos en el Data set por
'la llamada del metodo UpDatadataSource y pasar los
parámetros al Dataset.
Me.UpdateDataSource(objDataSetChanges)
RecepMerc.Merge(objDataSetChanges)
RecepMerc.AcceptChanges()
Return True
Catch eUpdate As System.Exception
'Add your error handling code here.
Me.DataError = ex.Message
Throw eUpdate
Return False
End Try
'Add your code to check the returned dataset for any errors that
may have been
'pushed into the row object's error.
End If
End Sub

End Function

3. Este procedimiento lo necesitas para ver si hay cambios

Public Sub UpdateDataSource(ByVal ChangedRows As Nombreaplicacion.RecepMerc)
Try
'Solo los datos que necesitan ser actualizados.
If (Not (ChangedRows) Is Nothing) Then
'Abrimos la conexión.
OleDbConnection.Open() '
'intentar actualizar los datos en el data source.
OleDbDataAdapter1.Update(ChangedRows)
End If
Catch updateException As System.Exception
'Add your error handling code here.
Throw updateException
Finally
'Cerramos la conexion.
OleDbConnection.Close()
End Try
End Sub




"Ana" wrote:

Hola,

Estoy intentando realizar una aplicación con un dataset tipado pero no
consigo almacenar los datos.

¿Alguien me puede indicar que estoy haciendo mal? Estoy comenzado ahora,
disculpen mi ignorancia

Gracias y un saludo,

1. Llamada
Private Sub cmdGuardar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdGuardar.Click


If SaveChanges() = True Then

MessageBox.Show("Los cambios se han guardado",
"RecepMerc", MessageBoxButtons.OK, MessageBoxIcon.Information)

Else

MessageBox.Show(Me.DataError, "RecepMerc",
MessageBoxButtons.OK, MessageBoxIcon.Error)

End If

End Sub

2. Función



Private Function SaveChanges() As Boolean

Try

RecepMercBindingSource.EndEdit() 'Aplica los cambios
pendientes al origen de datos subyacente.

RecepMercTableAdapter.Update(Me.RecepMercDataSet.RecepMerc)

LineasRecepMercTableAdapter.Update(Me.RecepMercDataSet.LineasRecepMerc)

Catch ex As Exception

Me.DataError = ex.Message

Return False

End Try

Try

RecepMercTableAdapter.Update(Me.RecepMercDataSet.RecepMerc)

LineasRecepMercTableAdapter.Update(Me.RecepMercDataSet.LineasRecepMerc)

Catch ex As Exception

Me.DataError = ex.Message

Return False

End Try

Return True

End Function



Respuesta Responder a este mensaje
#2 Ana
24/08/2006 - 00:12 | Informe spam
Hola, gracias por la respuesta pero no termina de funcionar

1 Donde escribes RecepMerc supongo que te refieres al dataset (lo he
cambiado por el nombre de mi dataset)


2 También he cambiado lo del control de excepciones

Catch eUpdate As System.Exception
'Add your error handling code here.
Me.DataError = ex.Message '(ex.Message por eUpdate)


3 No sé como abrir y cerrar la conexión OleDbConnection.Open()

Mi conexión está en el app.config
nombreproyecto.My.MySettings.RecepMercConnectionString"
connectionString="Data Source=.\SQLEXPRESS.

4 En el procedimiento de actualizar tengo que indicarle todos los
dataadapters que utilizo para este formulario ¿verdad?
utilizo uno para las los datos el principal, otro para las líneas y otro
para el proveedor, agencia, etc.


Public Sub UpdateDataSource(ByVal ChangedRows As
prjMoli.RecepMercDataSet)

RecepMercTableAdapter.Update(ChangedRows)

5 Aplicación de ejemplo para la versión 2005 he probado con el msdn vídeo
pero necesita el framework 1.1 y al final no funciona, este ejemplo era de
un vídeo de lo nuevo de 2005 pero aún así hay algunas cosas que cambian al
ser beta. Si conoces de alguna aplicación de ejemplo donde me pueda basar
sería de gran ayuda.

Muchas gracias y un saludo,


"Roberto Roccha" escribió en el
mensaje news:
Estimada Ana:

El probelma es que no obtienes los cambios, prueba esto:

1. Llamada
Private Sub cmdGuardar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdGuardar.Click

If SaveChanges() = True Then
MessageBox.Show("Los cambios se han guardado", "RecepMerc",
MessageBoxButtons.OK, MessageBoxIcon.Information)

Else

MessageBox.Show(Me.DataError, "RecepMerc",
MessageBoxButtons.OK, MessageBoxIcon.Error)>
End If

End Sub



2. Función

Private Function SaveChanges() As Boolean

'Creamos au nuevo dataset para poner los cambios que se han
realizado en el Data Set.
Dim objDataSetChanges As Nombreaplicacion.RecepMerc = New
Nombreaplicacion.RecepMerc
'Cancelamos la Edición Actual.
Me.BindingContext(RecepMerc, "NombreTabla").EndCurrentEdit()
'Obtenemos los cambios para ponerlos en el dataset.
objDataSetChanges = CType(RecepMerc.GetChanges,
Nombreaplicacion.RecepMerc)

'Chequeamos si se ha relizado algún cambio.
If (Not (objDataSetChanges) Is Nothing) Then
Try
'Los cambios aquí necesitan ser puestos, para intentar
actulizarlos en el Data set por
'la llamada del metodo UpDatadataSource y pasar los
parámetros al Dataset.
Me.UpdateDataSource(objDataSetChanges)
RecepMerc.Merge(objDataSetChanges)
RecepMerc.AcceptChanges()
Return True
Catch eUpdate As System.Exception
'Add your error handling code here.
Me.DataError = ex.Message
Throw eUpdate
Return False
End Try
'Add your code to check the returned dataset for any errors
that
may have been
'pushed into the row object's error.
End If
End Sub

End Function

3. Este procedimiento lo necesitas para ver si hay cambios

Public Sub UpdateDataSource(ByVal ChangedRows As
Nombreaplicacion.RecepMerc)
Try
'Solo los datos que necesitan ser actualizados.
If (Not (ChangedRows) Is Nothing) Then
'Abrimos la conexión.
OleDbConnection.Open() '
'intentar actualizar los datos en el data source.
OleDbDataAdapter1.Update(ChangedRows)
End If
Catch updateException As System.Exception
'Add your error handling code here.
Throw updateException
Finally
'Cerramos la conexion.
OleDbConnection.Close()
End Try
End Sub




"Ana" wrote:

Hola,

Estoy intentando realizar una aplicación con un dataset tipado pero no
consigo almacenar los datos.

¿Alguien me puede indicar que estoy haciendo mal? Estoy comenzado ahora,
disculpen mi ignorancia

Gracias y un saludo,

1. Llamada
Private Sub cmdGuardar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdGuardar.Click


If SaveChanges() = True Then

MessageBox.Show("Los cambios se han guardado",
"RecepMerc", MessageBoxButtons.OK, MessageBoxIcon.Information)

Else

MessageBox.Show(Me.DataError, "RecepMerc",
MessageBoxButtons.OK, MessageBoxIcon.Error)

End If

End Sub

2. Función



Private Function SaveChanges() As Boolean

Try

RecepMercBindingSource.EndEdit() 'Aplica los cambios
pendientes al origen de datos subyacente.


RecepMercTableAdapter.Update(Me.RecepMercDataSet.RecepMerc)


LineasRecepMercTableAdapter.Update(Me.RecepMercDataSet.LineasRecepMerc)

Catch ex As Exception

Me.DataError = ex.Message

Return False

End Try

Try


RecepMercTableAdapter.Update(Me.RecepMercDataSet.RecepMerc)


LineasRecepMercTableAdapter.Update(Me.RecepMercDataSet.LineasRecepMerc)

Catch ex As Exception

Me.DataError = ex.Message

Return False

End Try

Return True

End Function



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida