Ayuda Novato

02/03/2006 - 15:39 por Mauro | Informe spam
Ayer instale el VS 2005 profesional, agregre un datagrid a una aplicacion
windows con las opciones de insercion borrado edicion etc, cuando hago un
DEBUG de la aplicacion, el mismo dme devuelve los datos de la bd
pero cuando edito o borro o agrego datos al grid, no se reflejan en la bd.
Por que?
 

Leer las respuestas

#1 Luis Miguel Blanco
05/03/2006 - 12:46 | Informe spam
Hola Mauro

Supongo que has agregado el datagrid a tu formulario utilizando el asistente
para configurar la conexión de datos al grid, lo cual tiene la ventaja de que
te facilita el proceso de creación del control, pero oculta algunos aspectos
que en algunos casos es necesario conocer.

Con toda seguridad, este asistente del datagrid, habrá añadido en la parte
inferior del diseñador del formulario un objeto DataSet y un TableAdapter,
los cuales necesita el DataGrid a la hora de obtener/actualizar la
información desde/hacia la base de datos.

Más concretamente, el objeto TableAdapter, es el encargado de tomar la
conexión contra la base de datos, establecer dicha conexión, y rellenar el
DataSet con los datos de una tabla que será la que muestre el DataGrid.
Fíjate en el evento Load() de tu formulario, y seguramente tendrás una línea
en la que el objeto TableAdapter rellena el DataSet de forma parecida a la
siguiente:

'//////////////////////////
Me.NombreBBDDTablaTableAdapter.Fill(Me.NombreBBDDDataSet.NombreTabla)
'//////////////////////////

Es por ello, que al ejecutar tu aplicación, el asistente del DataGrid se ha
ocupado de rellenar este control con los datos para que navegues por la
tabla, edites, añadas registros, etc.

El único detalle que en este caso falta, y que debemos hacer nosotros
manualmente, sería indicar al DataSet asociado al DataGrid, y que es quien
realmente tiene los datos, que cuando hayamos terminado de editarlos,
actualice de nuevo la tabla física de la base de datos con la que tenemos en
el DataSet, ya que en caso contrario, la información del DataSet, al tratarse
de datos desconectados de la base de datos, se perdería.

Esto lo puedes hacer en el evento de descarga el formulario, con un control
Button, etc. Por ejemplo, si lo haces en el Click de un botón, sería de forma
similar a la siguiente:

'//////////////////////////
Private Sub btnActualizarBD_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnActualizarBD.Click

Me.NombreBBDDTablaTableAdapter.Update(Me.NombreBBDDDataSet.NombreTabla)

End Sub
'//////////////////////////

Prueba añadiendo este código a tu proyecto y creo que ya te funcionará la
actualización.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Mauro" wrote:

Ayer instale el VS 2005 profesional, agregre un datagrid a una aplicacion
windows con las opciones de insercion borrado edicion etc, cuando hago un
DEBUG de la aplicacion, el mismo dme devuelve los datos de la bd
pero cuando edito o borro o agrego datos al grid, no se reflejan en la bd.
Por que?



Preguntas similares