Foros del Web » Programación para mayores de 30 ;) » .NET »

Almacenar datos de un Datagrid en la base de datos apartir de una fila en especifico

Estas en el tema de Almacenar datos de un Datagrid en la base de datos apartir de una fila en especifico en el foro de .NET en Foros del Web. Hola a todos! Mi pregunta es referente a que necesito almacenar los datos que se encuentran en el datagrid pero desde cierta fila ya que ...
  #1 (permalink)  
Antiguo 10/01/2013, 10:05
 
Fecha de Ingreso: noviembre-2012
Ubicación: caracas
Mensajes: 53
Antigüedad: 11 años, 4 meses
Puntos: 0
Almacenar datos de un Datagrid en la base de datos apartir de una fila en especifico

Hola a todos!

Mi pregunta es referente a que necesito almacenar los datos que se encuentran en el datagrid pero desde cierta fila ya que en las primeras filas tiene un encabezado y eso no me interesa almacenarlo... Les explico mejor el Datagrid se llena a traves de una importacion que hago desde excel y me muestra toda la inf incluyendo el encabezado y lo que no quiero es tener que ingresar al archivo excel para borrar ese encabezado, ya que es un archivo que mandan a diario... les pongo el codigo que uso para guardar la inf en la BD necesito es modificarlo para que me guarde desde la fila N°: 11...

Código vb:
Ver original
  1. Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
  2.         Dim cn As New MySqlConnection(frmConexion.ConexionMySQL)
  3.         cn.Open()
  4.         Try
  5.             'Se inicia la transaccion
  6.            myTrans = cn.BeginTransaction()
  7.  
  8.             Dim sqli As String = "INSERT INTO operaciones (no,campo1, campo2) VALUES (@no,@campo1,@campo2)"
  9.  
  10.             Dim cmd As New MySqlCommand(sqli, cn)
  11.             'Se ejecuta el comando de la transaccion
  12.            cmd.Transaction = myTrans
  13.             'Se declara no para asi tener el contador de las operaciones que se realizen a diario
  14.            Dim no As Integer = 0
  15.             'Recorremos el Datagridview
  16.            For Each fila As DataGridViewRow In dgvImportacion.Rows
  17.                 cmd.Parameters.Clear()
  18.                 no += 1
  19.                 'Dependiendo del Datagrid se colocan las filas
  20.                cmd.Parameters.AddWithValue("@no", no)
  21.                 cmd.Parameters.AddWithValue("@campo1", fila.Cells(0).Value)
  22.                 cmd.Parameters.AddWithValue("@cammpo2", fila.Cells(2).Value)
  23.                
  24.                 'Ejecutar instruccion sql Insert
  25.                cmd.ExecuteNonQuery()
  26.             Next
  27.             'Si no hay errores se guardan los cambios hechos en la base de datos y se termina la transaccion
  28.            myTrans.Commit()
  29.             MessageBox.Show("Registros Ingresados con Exito...")
  30.         Catch ex As Exception
  31.             'En el caso de errores, se  cancela la Transaccion y se revierten los cambios
  32.            myTrans.Rollback()
  33.             'Anunciamos el error si lo hay
  34.            MsgBox("No se pudo cargar a la base de datos" & Environment.NewLine & ex.Message.ToString)
  35.             cn.Close()
  36.         End Try
  37.     End Sub
  #2 (permalink)  
Antiguo 10/01/2013, 11:35
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Almacenar datos de un Datagrid en la base de datos apartir de una fila en

Hola que tal, bueno si el encabezado lo pintas en el primer renglon, me temo que el foreach no te va a funcionar, mejor cambialo a for.

Yo cuando tengo que emular un encabezado en un renglon, recorro el grid con un for, apartir del renglon 1 y con eso ya no se toma el encabezado.

Etiquetas: almacenar, datagrid, especifico, fila, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:16.