Visual Basic.NET - ayuda con este error

 
Vista:

ayuda con este error

Publicado por Luis Gil Abzueta (13 intervenciones) el 02/04/2007 06:06:50
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...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con este error

Publicado por Eligio Almuedo (6 intervenciones) el 02/04/2007 16:33:56
End If
Next
Return p
End Function

Return p???......no sera return y aparte next p
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con este error

Publicado por Luis Gil Abzueta (13 intervenciones) el 02/04/2007 17:03:15
Gracias... tenias razon, era asi... pero porque no me afecta a la base de datos??? cuando hago la eliminacion la da sin problemas, luego termino la aplicacion y vuelvo abrirla y hago una consulta y el registro esta ahi... lo he hecho con el SQL abierto y le digo que actualice la tabla despues de hacer la eliminacion y no la afecta...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar