Problemas con VB.net y Base de Datos SQL.

30/07/2004 - 19:50 por Juan Arteaga | Informe spam
Hola.

He estado intentando hacer un programa que guarde datos en
una base de datos SQL y que también pueda borrarlos.

Por alguna extraña razón cada vez que borro uno de los
datos que he ingresado (con Datarow.delete,) la posición
del Dataset.Tabla.Row se regresa al principio, en vez de
ir al siguiente row como ocurre normalmente (Esto no
ocurre con los datos que había ingresado anteriormente y
el programa simplemente toma de la base de datos.) Lo mas
curioso -y cabreante- es que en otra forma del mismo
proyecto, que hace lo mismo, pero con otra tabla de la
misma base de datos, si funciona. Borro un row y la
posición se va al siguiente row como Dios manda.

El código es igualito. Lo se porque yo lo copié y pegué
(haciendo algunos cambios para datos diferentes, pero lo
importante es lo mismo.)

Me podría alguien ayudar? Es algún property del dataset,
del SQLDataAdapter, o de la tabla en si en SQL? Qué rayos
puede ser?

Por si las moscas, aquí les copio el codigo de añadir y de
borrar.

'Ingresamos el nuevo registro a la base de datos.
If flagPermiteAñadir = True Then
Dim Dr As DataRow =
DsGrupo1.GruposUsuarios.NewRow
Dr("IdGrupoUsuarios") = (txtnewID.Text)
Dr("Descripcion") = (txtnewDescripcion.Text)
DsGrupo1.GruposUsuarios.Rows.Add(Dr)
Try
Me.SqlConnection1.Open()
Me.SqlDAGrupo.Update(DsGrupo1)
Me.SqlConnection1.Close()
Catch ex As Exception
MsgBox(ex.ToString)
Me.SqlConnection1.Close()
End Try
MsgBox("El grupo ha sido añadido a la base de
datos.")
collID.Add(txtnewID.Text)
Me.txtnewID.Text = ""
Me.txtnewDescripcion.Text = ""
Me.DsGrupo1.GruposUsuarios.AcceptChanges()
End If


Try
Me.DsGrupo1.Tables(0).Rows
(Me.BindingContext(Me.DsGrupo1, "GruposUsuarios").Position
()).Delete()
Me.SqlConnection1.Open()
Me.SqlDAGrupo.Update(DsGrupo1)
Me.SqlConnection1.Close()
Catch ex As Exception
MsgBox(ex.ToString)
Me.SqlConnection1.Close()
End Try
DsGrupo1.GruposUsuarios.AcceptChanges()
Call Me.subLlenarCollection()

Gracias de antemano si pueden ayudar.
 

Leer las respuestas

#1 Paulo Conde
01/08/2004 - 02:07 | Informe spam
Debes eliminar la linea de AcceptChanges, el método Update del DataAdapter
hace AcceptChanges automáticamente.


Saludos

Paulo G. Conde M.
+58-416-4721293
+58-273-5412395

Barinas, Venezuela

Preguntas similares