Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: piwi en 11 Octubre 2010, 20:36 pm



Título: Borrar Registro en DataSet
Publicado por: piwi en 11 Octubre 2010, 20:36 pm
Hola

Estoy intentando borrar un registro del dataset.
Estoy utilizando el siguiente código:

Código:
        Dim registro As LicenciaDataSet.LICENCIARow

        registro = LicenciaDataSet.LICENCIA.Rows.Find(268)

        LicenciaDataSet.LICENCIA.Rows.Remove(registro)

        Me.TableAdapterManager.UpdateAll(Me.LicenciaDataSet)

En el formulario me lo borra pero no en la base de datos. Es como si el UpdateAll no me funcionara.

Para insertar uno nuevo no tengo ningún problema.

Código:
     Dim registro As LicenciaDataSet.LICENCIARow
        registro = LicenciaDataSet.LICENCIA.NewLICENCIARow

        registro.LICENCIA = 11
        registro.VERSION = "11"
        registro.IDPRODUTO = 1
        registro.IDFABRICANTE = 1
        registro.OBSERVACIONES = "hola1"

        LicenciaDataSet.LICENCIA.Rows.Add(registro)

        Me.TableAdapterManager.UpdateAll(Me.LicenciaDataSet)

Donde está el fallo en el borrado?


Título: Re: Borrar Registro en DataSet
Publicado por: [D4N93R] en 11 Octubre 2010, 21:50 pm
Posiblemente en el datasource del dataset, prueba viendo la sentencia de UPDATE..


Título: Re: Borrar Registro en DataSet
Publicado por: piwi en 12 Octubre 2010, 16:16 pm
Pero si la sentencia de update está mal tampoco me guardaría el registro nuevo no?


Título: Re: Borrar Registro en DataSet
Publicado por: [D4N93R] en 12 Octubre 2010, 16:21 pm
Sí, porque es diferente, la del nuevo es del INSERT..


Título: Re: Borrar Registro en DataSet
Publicado por: piwi en 12 Octubre 2010, 16:27 pm
Perdona, me lo podrías explicar. No me estoy enternado. Por cierto, si lo borro con el bindingnavigator me funciona perfectamente.

No estoy seguro si tiene algo que ver pero en el momento de borrar si que se borra el registro pero no actualiza en la base de datos.


Título: Re: Borrar Registro en DataSet
Publicado por: piwi en 12 Octubre 2010, 16:39 pm
He añadido al dataset un query de eliminación pero solamente por el campo clave, no como lo genera él por defecto con todos los campos y de esta manera si que funciona correctamente

Código:
LICENCIATableAdapter.DeleteQuery(268)