PROBLEMA
ahora tengo el código de otra manera y esta funcionando el refrescarse la grilla
creo un nuevo registro en la BD guarda y refresca la grilla correctamente
PERO en la segunda vez que intento hacerlo me sale este error:
infraccion de simultaneidad: updatecommand afecto a 0 de los 1 registros esperados
ahora lo que hice en el codigo fue convertir el llenado de la grilla en una funcion publica:
Código:
Public Function GetData() As DataTable
Using cnn As New SqlConnection("data source = Oskar-PC\desarrollo; initial catalog = ClinicTurnos; Integrated Security = True")
Try
Dim sql As String = "SELECT * FROM Pacientes"
Dim da As New SqlDataAdapter(sql, cnn)
Dim ds As New DataSet
Dim dt As DataTable = New DataTable("Pacientes")
da.Fill(dt)
Return dt
' With DgvPacientes
'.DataSource = dt
' End With
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Using
End Function
y luego apunte la funcion al boton de guardar de un bindingnavigato asi:
Código:
Private Sub GuardarToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GuardarToolStripButton.Click
Me.customersBindingSource.EndEdit()
PACIENTES.Guardar()
txtnombres.Clear()
txtapellido.Clear()
txtedad.Clear()
txtdir.Clear()
txttel.Clear()
txtcel.Clear()
txtocup.Clear()
txtid.Clear()
DgvPacientes.DataSource = GetData() ACA ESTA
End Sub
pero el error me sale justo cuando intento guardar por 2 vez, he leido y parece ser por que en el dataset se esta actualizando un numero mas de un campo que tengo configurado como autonumerico en SQLserver q es el codigo de paciente, esooo parece no lo se... la cuestion es que el error me apunta al metodo guardar que tengo en una clase pss para guardar los cambios precisamente
Código:
Public Sub Guardar()
LlenarDtset.Update(Me.Eldataset, Tabla)
'GRABAR UN REGISTRO EN LA TABLA HISTORIA
End Sub