ayuda con este error sobre la base de datos hola, por favor, escribo la mayor parte del programa para ver si alguien me dice si voy bien... tengo este codigo con el que limpio el conjunto de datos, actualizo y cuento las filas.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.DataSet11.Clear()
Me.SqlDataAdapter1().Fill(Me.DataSet11)
numerofilas = BindingContext(Me.DataSet11, "conec").Count
End Sub
luego tengo este codigo para determinar la posicion de una fila para eliminar o modificar
Private Function posicionfila() As Integer
Dim ced, p As Integer
For p = 0 To (numerofilas - 1)
Me.BindingContext(Me.DataSet11, "conec").Position() = p
If ced = Me.TextBoxcedula.Text Then
Exit For
End If
Next
Return p
End Function
el codigo para buscar es este
Private Sub TextBoxcedula_keypress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBoxcedula.KeyPress
If Convert.ToInt32(e.KeyChar) = 13 Then
Me.TextBoxcedula.Enabled = False
Dim cedulabuscada As Integer
cedulabuscada = Convert.ToInt32(Me.TextBoxcedula.Text)
Dim filaencontrada As DataRow
filaencontrada = Me.DataSet11.conec.Rows.Find(cedulabuscada)
If Not (filaencontrada Is Nothing) Then
Me.TextBoxnombre.Text = filaencontrada(1)
Me.TextBoxapellido.Text = filaencontrada(2)
posicion = posicionfila()
Else
MsgBox("no se encontro una fila con codigo " & cedulabuscada, MsgBoxStyle.Information, "buscar")
Me.TextBoxcedula.Clear()
Me.TextBoxcedula.Enabled = False
Me.Buttonbuscar.Enabled = True
Me.Buttonlimpiar.Enabled = True
End If
End If
End Sub
cuando ejecuto este codigo para eliminar
Private Sub Buttoneliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttoneliminar.Click
Me.Buttoneliminar.Enabled = False
Dim respuesta As DialogResult
respuesta = MsgBox("esta seguro de eliminar?", MsgBoxStyle.YesNo, "Elimina")
If respuesta = DialogResult.Yes Then
Try
Me.DataSet11.conec.Rows(posicion).Delete()
Me.SqlDataAdapter1.Update(Me.DataSet11, "conec")
Me.DataSet11.conec.AcceptChanges()
numerofilas = Me.BindingContext(Me.DataSet11, "conec").Count
Catch fallo As Exception
MsgBox("error: " & Convert.ToString(fallo), MsgBoxStyle.Information, "eliminar")
End Try
End If
Me.Buttonbuscar.Enabled = True
TextBoxcedula.Clear()
TextBoxnombre.Clear()
TextBoxapellido.Clear()
End Sub
me dice que no hay datos en la fila 3, solo tengo 3 filas creadas en la base de datos (que serian la 0,1 y 2) pero he buscado la forma en que me reconosca en que posicion esta y no lo consigo... el error exacto es este
Error: System.IndexOutOfRangeExeption: No hay ninguna fila en la posición 3.
en System.data.RBTree1.GetNodeByIndex(Int32 userIndex)
en System.Data:dataRowCollection.get_item(Int32 index)
gracias... |