el dataset no reconoce cambios al modificar un textbox. hola tengo un problema con el siguiente codigo: Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
DataAdapter.Update(DataSet.GetChanges, "Clientes")
DataSet.AcceptChanges()
End Sub
el getchanges devuelve null y entonces dá un error. No debería dar null ya que pulso el botón despues de modificar un textbox relacionado con un campo de un dataset mediante un databinding. además si en lugar de modificar, lo que hago es añadir un registro no devuelve null. no sé si me explico. Pongo aquí el resto del codigo: Private Sub btnCargarDatset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCargarDatset.Click
DataAdapter.Fill(DataSet, "Clientes")
BindingContext(DataSet, "Clientes").Position = 0
End Sub
Private Sub btnSiguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSiguiente.Click
BindingContext(DataSet, "Clientes").Position += 1
End Sub
Private Sub btnAnterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnterior.Click
BindingContext(DataSet, "Clientes").Position -= 1
End Sub
Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
DataAdapter.Update(DataSet.GetChanges, "Clientes") 'Aquí dá el error
DataSet.AcceptChanges()
End Sub
Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click
DataSet.Tables("Clientes").Rows(BindingContext(Dat aSet, "Clientes").Position).Delete()
DataAdapter.Update(DataSet.GetChanges, "Clientes")
DataSet.AcceptChanges()
End Sub
Private Sub btnAnadir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnadir.Click
Dim DataRow As DataRow
DataRow = DataSet.Tables("Clientes").NewRow()
DataRow("Nombre") = txtNombre.Text
DataRow("Apellidos") = txtApellidos.Text
DataRow("Direccion") = txtDireccion.Text
DataSet.RejectChanges()
DataSet.Tables("Clientes").Rows.Add(DataRow)
DataAdapter.Update(DataSet.GetChanges, "Clientes") 'aquí sin embargo no lo dá
DataSet.AcceptChanges()
End Sub
parece como si al modificar el textbox no reconociera que hay cambios en el dataset, sin embargo están unidos con un binding (en tiempo de diseño)
Desde luego hace cosas raras el .net Con dao no me pasaba nada de esto.
un saludo. |