Insertar Datos a Datagridview
Usuario
Hola.. me gustaría saber si me puedes ayudar con esto: estoy programando en VB net.. veras,, tengo un datagridview.. al cual le pongo unos datos directamente en las celdas(cuando corro el sistema) y quiero que al darle click en cerrar me guarde los datos esos en una tabla (en Sqlserver).. ¿cómo puedo hacer esto? Tengo el siguiente código que se supone (según mi lógica) lo debería hacer..
Dim conx As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=11.11.11.1;Initial Catalog=BD240;Persist Security Info=True;User ID=sitauser;Password=blabla")
conx.Open()
conx.Open()
Dim sqql As String = "Insert Into TABCOMP (NUM_REF,FEC_CREA,COMP,MONTO,AUTORIZA) VALUES(@NUM_REF,@FEC_CREA,@COMP,@MONTO,@AUTORIZA)"
Dim comm As New SqlCommand(sqql, conx)
For Each row As DataGridViewRow In Me.DataGridView2.Rows
comm.Parameters.AddWithValue("@NUM_REF", row.Cells("NUM_REF"))
comm.Parameters.AddWithValue("@FEC_CREA", row.Cells("FECHA"))
comm.Parameters.AddWithValue("@COMP", row.Cells("COMPLEMENTO"))
comm.Parameters.AddWithValue("@MONTO", row.Cells("MONTO"))
comm.Parameters.AddWithValue("@AUTORIZA", row.Cells("AUTORIZA"))
comm.ExecuteNonQuery()
Next
conx.Close()
No me muestra ningún error.. pero no me guarda los datos.. ¿alguna idea? De antemano te doy las gracias..!
Dim conx As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=11.11.11.1;Initial Catalog=BD240;Persist Security Info=True;User ID=sitauser;Password=blabla")
conx.Open()
conx.Open()
Dim sqql As String = "Insert Into TABCOMP (NUM_REF,FEC_CREA,COMP,MONTO,AUTORIZA) VALUES(@NUM_REF,@FEC_CREA,@COMP,@MONTO,@AUTORIZA)"
Dim comm As New SqlCommand(sqql, conx)
For Each row As DataGridViewRow In Me.DataGridView2.Rows
comm.Parameters.AddWithValue("@NUM_REF", row.Cells("NUM_REF"))
comm.Parameters.AddWithValue("@FEC_CREA", row.Cells("FECHA"))
comm.Parameters.AddWithValue("@COMP", row.Cells("COMPLEMENTO"))
comm.Parameters.AddWithValue("@MONTO", row.Cells("MONTO"))
comm.Parameters.AddWithValue("@AUTORIZA", row.Cells("AUTORIZA"))
comm.ExecuteNonQuery()
Next
conx.Close()
No me muestra ningún error.. pero no me guarda los datos.. ¿alguna idea? De antemano te doy las gracias..!
Experto
Hola!
Tu código esta bien excepto que abres dos veces la conexión y cuando pasas el valor al parámetro no estas pasando el contenido de la celda el contenido de la celda nos lo regresa la propiedad Value.
Ejemplo:
comm.Parameters.AddWithValue("@NUM_REF",row.Cells("NUM_REF").Value)
Saludos!
Tu código esta bien excepto que abres dos veces la conexión y cuando pasas el valor al parámetro no estas pasando el contenido de la celda el contenido de la celda nos lo regresa la propiedad Value.
Ejemplo:
comm.Parameters.AddWithValue("@NUM_REF",row.Cells("NUM_REF").Value)
Saludos!
Usuario
Gracias.. ahora lo único malo es que me arregla un renglón en blanco.. este es el código que ahora estoy usando:
Dim conx As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=69.20.120.91;Initial Catalog=BD240;Persist Security Info=True;User ID=sitauser;Password=bmdesarrollo")
conx.Open()
For i As Integer = 0 To DataGridView2.Rows.Count - 1
Dim sqql As String = "INSERT INTO TABCOMP (NUM_REF,FEC_CREA,COMP,MONTO,AUTORIZA) " & _
" VALUES ('" & glreferencia & "','" & glfechas & "','" & glcomplemento & "','" & glmonto & "','" & glautoriza & "')"
Dim comm As New SqlCommand(sqql, conx)
glreferencia = DataGridView2.Rows(i).Cells(0).Value.ToString
glfechas = DataGridView2.Rows(i).Cells(1).Value.ToString
glcomplemento = DataGridView2.Rows(i).Cells(2).Value.ToString
glmonto = DataGridView2.Rows(i).Cells(3).Value.ToString
glautoriza = DataGridView2.Rows(i).Cells(4).Value.ToString
comm.ExecuteNonQuery()
Next
conx.Close()
¿A qué crees que se deba? De antemano.. Gracias..!
Dim conx As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=69.20.120.91;Initial Catalog=BD240;Persist Security Info=True;User ID=sitauser;Password=bmdesarrollo")
conx.Open()
For i As Integer = 0 To DataGridView2.Rows.Count - 1
Dim sqql As String = "INSERT INTO TABCOMP (NUM_REF,FEC_CREA,COMP,MONTO,AUTORIZA) " & _
" VALUES ('" & glreferencia & "','" & glfechas & "','" & glcomplemento & "','" & glmonto & "','" & glautoriza & "')"
Dim comm As New SqlCommand(sqql, conx)
glreferencia = DataGridView2.Rows(i).Cells(0).Value.ToString
glfechas = DataGridView2.Rows(i).Cells(1).Value.ToString
glcomplemento = DataGridView2.Rows(i).Cells(2).Value.ToString
glmonto = DataGridView2.Rows(i).Cells(3).Value.ToString
glautoriza = DataGridView2.Rows(i).Cells(4).Value.ToString
comm.ExecuteNonQuery()
Next
conx.Close()
¿A qué crees que se deba? De antemano.. Gracias..!