Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/11/2007, 10:52
Avatar de JonhyReyes
JonhyReyes
 
Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Cómo guardar los datos de un DataGrid?

Bueno.... si solo vas a modificar datos puedes hacerlo de la siguiente forma

'Primero creas una tabla en la declaración inicial del formulario y la conexion

Dim TablaSource as New DataTable
Dim cnxBD as New SqlConnection("Aqui va el connection String")

'Me imagino que cargas el formulario en el evento LOad de tu formulario


Private Sub form1_load ( Byval sender as object, Byval e ..........)
'Inicializamos el dataAdapter con el comando y la conexion
Dim adap As New SqlClient.SqlDataAdapter("Select * From tabla1", CnxBD)
'Asegurate de poner a la tabla el mismo nombre de la tabla de Sql Server
TablaSource.TableName = "Tabla1"
CnxBD.Open()
adap.Fill(Me.TablaSource)
CnxBD.Close()
Me.DataGridView1.DataSource = Me.TablaSource
End Sub

Bueno ahora el usuario hace todos los cambios necesarios al DataGrid y en el Botón guardar escribe el siguiente código:

Private Sub BtnGuardar_Click(Byval sender as object, Byval e ........) Handles ......
'Primero inicializamos un dataAdapter con el comando Select y la conexion
Dim adapter as New SqlDataAdapter("Select * From Tabla1",CnxBD)
'Inicializamos tambien un commandBuilder con el Adapter que configuramos
Dim cmdBuild as NEw SqlCommandBuilder(adapter)

CnxBD.Open()

'Asignamos al dataAdapter los comandos que el constructor de comandos
'nos ha proporcionado
adapter.InsertCommand = cmdBuild.GetInsertCommand
adapter.DeleteCommand = cmdBuild.GetDeleteCommand
adapter.UpdateCommand = cmdBuild.GetUpdateCommand

'Actualizamos la tabla
adapter.Update(Me.tablasource)
CnxBD.Close()
End Sub


Vamos a notar que la tabla tiene un estado para cada fila (unchanged, deleted, inserted, updated) y de acuerdo a eso aplica el comando que debe.

Espero te ayude esta informacion

Saludos