Hola foro, estoy iniciando en esto de la programacion y estoy realizando un proyecto con vb.net y postgres. Cuando intento hacer la actualizacion me manda el siguiente error.
Infracción de concurrencia: UpdateCommand afectó a 0 de los 1 registros esperados.
Codigo de error :
en System.Data.Common.DbDataAdapter.UpdatedRowStatusE rrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
en System.Data.Common.DbDataAdapter.UpdatedRowStatus( RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
en System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
en System.Data.Common.DbDataAdapter.UpdateFromDataTab le(DataTable dataTable, DataTableMapping tableMapping)
en System.Data.Common.DbDataAdapter.Update(DataTable dataTable)
en SystemSTP.frm_planta.btn_guarda_Click(Object sender, EventArgs e) en C:Formsfrm_usuario.vb:línea 349
La linea 349 es: NpDataAdapter.Update(DataTab)
El codigo es:
Private fila As Integer
Private DataTab As DataTable
Private NpDataAdapter As Npgsql.NpgsqlDataAdapter
Private Sub btn_guarda_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_guarda.Click
Dim DataRo As DataRow = DataTab.Rows(fila)
' Asignar los datos de los textbox a la fila
asignarDatos(DataRo)
Try
NpDataAdapter.Update(DataTab)
DataTab.AcceptChanges()
Catch ex As DBConcurrencyException
MsgBox("Error de concurrencia: " & vbLf & ex.Message & vbLf & vbLf & "Codigo de error :" & vbLf & ex.StackTrace, MsgBoxstyle.Critical, "Error")
Catch ex As Exception
MessageBox.Show(ex.Message)
End sub
Private Sub asignarDatos(ByVal dr As DataRow)
'Asignar los datos que hay en los textbox
dr("ficha") = txt_ficha.Text
dr("nombre") = txt_nombre.Text
end sub
PD: Les agradeceria mucho por tu ayuda.