Guardar Informacion de un datagridview en base de datos

Recorrer datagridview para guardar en BD con una transaccion SQL
Oscar Hernando Barón Roa
 Guardar Informacion de un datagridview en base de datos
Recorrer datagridview para guardar en BD con una transaccion SQL
Visitas:110787
Fecha publicación:3/5/2008 8:10:49 PM
Para este ejemplo, requerido por uno de los tantos usuarios de Onglasses, que me lo ha solicitado y como integrante de la comunidad onglasses con gusto respondere a su inquietud. la inquietud parte de como almacenar la informacion de un datagrid a una base de datos, en primer lugar he creado un ejemplo que podra aclarar esta inquietud. crearemos una forma con los objetos como aparece en la imagen, ademas agregaremos la libreria de sqlclient
 
para el ejemplo crearemos una base de datos con el nombre DBPRUEBA, que nos permita almacenar los datos.
 
Ahora crearemos 4 columnas dentro del datagrid. que nos permitan agregar los datos ingresados.
 
Ahora para agregar los datos, hemos determinado un textbox para un nombre un combobox con unos deportes y por ultimo un datetimepicker para una fecha. tenemos un boton agregar que nos permitira, agregar un row al datagridview.
 
una vez tenemos datos dentro de nuestro datagrid, si deseamos eliminar uno de nuestros rows o filas damos click en el boton eliminar, la cual quitara la fila del datagrid.
 
Ahora podremos guardar nuestra informacion al hacer click en el boton guardar, aqui se validara que existan datos o mejor filas en el datagrid, ahora recorreremos nuestro datagrid por medio de un For. tendremos una varia de tipo string (SqlString ) donde agregaremos la sentencia para guardar en la base de datos (INSERT INTO), ademas de un araylist para agregar las sentencias.
 
Ahora una vez hallamos recorrido el datagrid y tengamos nuestras sentencias, podremos ejecutar nuestra transaccion SQl para guardar en la base de datos. En este punto haciendo un parentesis igualmente podra ejecutar una a una las sentencias si lo desea por medio de un executenonquery, pero para mi lo mas optimo es una transaccion. Volviendo al evento guardar la funcion Public Function EjecutarTransaccion(ByVal ListaSentencias As ArrayList) As Boolean recibira el arraylist y retornara un valor booleano para identificar si se realizo la transaccion. para ejecutar nuestra transaccion necesitamos una conexion como la siguiente.
 
Ahora la funcion ejecutartransaccion se ejecutara, si es correcta la transaccion retornara true de ser incorrecta podremos ver un mensaje y retornara un false
 
Si la transaccion es satisfactoria veremos un mensaje de satisfaccion. la clase transaccion utiliza dos funciones dicionales de abrir y cerrar conexion que nos permite establecer si la conexion es correcta o no.
 
ahora podremos ver nuestra informacion, en la base de datos.
 
Ahora podra descargar el codigo haciendo click en mas informacion. Agradezco la lectura de mis articulos y espero como todos los integrantes de onglasses, que sirva como ayuda a la comunidad de desarrolladores. pueden escribirme a obaronARROBAgmail.com ARROBA(@) es para que no me indexe el spam.
 
Comentarios:
  • Visitante

    Escribió 8/18/2012 10:08:38 AM

    hice cada uno de los pasos explicados pero me sale error al intentar guardar

  • Visitante

    Escribió 8/18/2012 10:47:00 AM

  • Visitante

    Escribió 8/24/2012 2:36:30 PM

  • Visitante

    Escribió 8/24/2012 2:39:05 PM

  • Visitante

    Escribió 9/12/2012 12:12:43 PM

    me funciona pero. me aparece lo siguiente: referencia a objeto no establecida como instancia a un objeto. ayuda porfa.. Ya lo adapte a mi proyecto

  • Visitante

    Escribió 9/21/2012 7:09:45 PM

    no se puede descargar

  • Visitante

    Escribió 11/1/2012 6:36:06 AM

  • Visitante

    Escribió 11/4/2012 10:25:04 PM

    me funciona pero. me aparece lo siguiente: referencia a objeto no establecida como instancia a un objeto. ayuda porfa.. Ya lo adapte a mi proyecto Kizas lo ke pasa eske tenes ke agregar en las propiedades del grid otra columna ke no tenes ahi declarada

  • Visitante

    Escribió 11/19/2012 2:13:14 PM

  • Visitante

    Escribió 1/5/2013 9:03:06 PM

  • Visitante

    Escribió 1/20/2013 9:46:58 AM

  • Visitante

    Escribió 1/22/2013 5:34:19 PM

  • Visitante

    Escribió 1/24/2013 12:43:51 PM

    Visitante Escribió 11/4/2012 10:25:04 PM me funciona pero. me aparece lo siguiente: referencia a objeto no establecida como instancia a un objeto. ayuda porfa.. Ya lo adapte a mi proyecto Kizas lo ke pasa eske tenes ke agregar en las propiedades del grid otra columna ke no tenes ahi declarada Te respondo,haz lo que viene en esta página: http://support.microsoft.com/kb/810098/es Si no te funciona.Prueba a quitar el mensaje ese que te sale,comentandolo.Es una tontería de solución provisional,pero ya no te molestará el mensajito.

  • Visitante

    Escribió 1/24/2013 12:43:56 PM

    Visitante Escribió 11/4/2012 10:25:04 PM me funciona pero. me aparece lo siguiente: referencia a objeto no establecida como instancia a un objeto. ayuda porfa.. Ya lo adapte a mi proyecto Kizas lo ke pasa eske tenes ke agregar en las propiedades del grid otra columna ke no tenes ahi declarada Te respondo,haz lo que viene en esta página: http://support.microsoft.com/kb/810098/es Si no te funciona.Prueba a quitar el mensaje ese que te sale,comentandolo.Es una tontería de solución provisional,pero ya no te molestará el mensajito.

  • Visitante

    Escribió 2/14/2013 11:29:40 AM

  • Visitante

    Escribió 2/24/2013 8:29:46 PM

  • Visitante

    Escribió 2/28/2013 7:41:49 PM

    no me sirve ya lo prove y sale error referencia a objeto no establecida como instancia a un objeto, le kite el mensaje de la paguina y le tiene completo todos los campos en el datagridview que hago viejo ?

  • Visitante

    Escribió 2/28/2013 7:45:09 PM

    no me sirve ya lo prove y sale error referencia a objeto no establecida como instancia a un objeto, le kite el mensaje de la paguina y le tiene completo todos los campos en el datagridview que hago viejo ?

  • Visitante

    Escribió 3/11/2013 12:03:32 PM

  • Visitante

    Escribió 3/27/2013 12:25:34 PM

  • Visitante

    Escribió 5/3/2013 8:09:51 AM

    No veo el link de mas informacion, Gracias

  • Visitante

    Escribió 5/7/2013 6:17:30 PM

  • Visitante

    Escribió 5/27/2013 10:23:16 AM

  • Visitante

    Escribió 8/1/2013 9:29:57 AM

  • Visitante

    Escribió 8/28/2013 8:44:32 PM

    la referencia a objeto no establecida supongo que no le haz hecho un new al objeto que vas a guardar

  • Visitante

    Escribió 9/25/2013 9:52:29 AM

    If DataGridView2.Rows.Count > 0 Then Dim SqlString As String = "" Dim ListSqlStrings As New ArrayList For i As Integer = 0 To DataGridView2.Rows.Count - 1 SqlString = "INSERT INTO RegistroRecibo (IdRecibo,IdProducto,Cantidad,PrecioVenta) VALUES (´" + DataGridView2.Rows(i).Cells("Column1").Value.ToString() + "´,´" + DataGridView2.Rows(i).Cells("Column2").Value.ToString() + "´,´" + DataGridView2.Rows(i).Cells("Column5").Value.ToString() + "´,´" + DataGridView2.Rows(i).Cells("Column6").Value.ToString() + "´)" me da error aca no se controlo NullReferenceException

  • Visitante

    Escribió 10/2/2013 4:28:18 PM

    Bueno al fin corrio solo modifique esto For i As Integer = 0 To DataGridView2.Rows.Count - 2 Dim aTemp, sReturn 'si el valor se obtiene como una cadena 'de un campo formateado tipo 1.234,56 'quitar primero el indicador de MILES aTemp = CDbl(DataGridView2.Rows(i).Cells(3).Value) 'cambiar el separador decimal sReturn = Join(Split(aTemp, ","), ".") SqlString = "INSERT INTO RegistroRecibo VALUES ('" + CStr(DataGridView2.Rows(i).Cells(0).Value.ToString()) + "','" + CStr(DataGridView2.Rows(i).Cells(1).Value.ToString()) + "','" + CStr(DataGridView2.Rows(i).Cells(4).Value.ToString()) + "'," + CStr(sReturn) + ")" List.Add(SqlString) Next

  • Visitante

    Escribió 10/21/2013 12:24:56 PM

  • Visitante

    Escribió 11/19/2013 5:06:56 PM

    S

  • Visitante

    Escribió 11/19/2013 5:08:53 PM

    EL MAESTRO BUBU NO ME ENSEÑA NI MADRES AYUDA¡¡¡¡

  • Visitante

    Escribió 11/26/2013 8:06:50 AM

  • Visitante

    Escribió 11/28/2013 3:19:44 PM

  • Visitante

    Escribió 11/28/2013 3:19:45 PM

  • Visitante

    Escribió 11/28/2013 3:19:46 PM

  • Visitante

    Escribió 4/30/2014 3:35:50 PM

    c

  • Visitante

    Escribió 4/30/2014 3:35:52 PM

    c

  • Visitante

    Escribió 6/13/2014 12:12:53 PM

    Por favor si alguien me puede decir como recorro las filas de un DataGridView utilizando botones en Visal Basic 2005.

  • Visitante

    Escribió 7/2/2014 4:49:18 PM

  • Visitante

    Escribió 7/4/2014 1:19:15 PM

    no veo el link , tengo dudas de los botones de eliminar....

  • Visitante

    Escribió 9/14/2014 4:54:50 PM

    hgfg

  • Visitante

    Escribió 9/16/2014 2:55:07 PM

    Visitante Escribió 9/16/2014

  • Visitante

    Escribió 10/11/2014 4:24:44 PM

    COMO

  • Comentario:


Contenido relacionado