Insertar Datos a Datagridview

Hola.. Me gustaría saber si me puedes ayudar con esto.. Tengo un datagridview (no enlazado a ningún Dataset) al cual le agrego información.. Y necesito que al darle click en un botón (guardar) me guarde esos datos en una tabla en Sql.. Me podrías decir como puedo hacer esto.. Tengo algo de código.. Pero me muestra error:
Dim conx As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=11.11.11.11;Initial Catalog=BD240;Persist Security Info=True;User ID=sitauser;Password=kkkk")
                conx.Open()
                Dim comsql As SqlClient.SqlCommand
                'Dim i As Integer = 0
                comsql = conx.CreateCommand()
                For i As Integer = 0 To DataGridView2.Rows.Count - 1
                    comsql = "INSERT INTO TABCOMP (NUM_REF,FEC_CREA,COMP,MONTO,AUTORIZA) VALUES ('" + DataGridView2.Rows(i).Cells(0).Value.ToString() + "','" + DataGridView2.Rows(i).Cells(1).Value.ToString() + "','" + DataGridView2.Rows(i).Cells(2).Value.ToString() + "','" + DataGridView2.Rows(i).Cells(3).Value.ToString() + "','" + DataGridView2.Rows(i).Cells(4).Value.ToString() + "')"
                    comsql.ExecuteNonQuery()
                Next
                conx.Close()
El error me lo muestra en donde esta en negrita y me dice es: Value of type 'String' cannot be converted to 'System. Data.SqlClient.SqlCommand'.
Tal vez sesa algo simple.. Jeje.. Pero de antemano agradezco que me puedas orientar.. Saludos..

1 Respuesta

Respuesta
Lo que debes hacer es estO:
comsql.CommandText = "INSERT INTO...."
Hola.. eso ya lo arreglé jeje.. pero ahora lo que me hace es que me inserta aparte de los datos que ponga.. un renglón en blanco.. ¿qué podría hacer al respecto? Tengo lo siguiente de código:
Dim conx As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source=11.11.11.11;Initial Catalog=BD240;Persist Security Info=True;User ID=sitauser;Password=kkkk")
                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 & "')" '(@NUM_REF,@FEC_CREA,@COMP,@MONTO,@AUTORIZA)"
                    ' Dim sqql As String = "INSERT INTO TABCOMP (NUM_REF,FEC_CREA,COMP,MONTO,AUTORIZA) VALUES('" & DataGridView2.Rows(i).Cells(0).Value.ToString() & "','" & DataGridView2.Rows(i).Cells(1).Value.ToString() & "','" + DataGridView2.Rows(i).Cells(2).Value.ToString() & "','" + DataGridView2.Rows(i).Cells(3).Value.ToString() + "','" + DataGridView2.Rows(i).Cells(4).Value.ToString() + "')" '(@NUM_REF,@FEC_CREA,@COMP,@MONTO,@AUTORIZA)"
                    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()
            End If
¿Algo qué le veas que falte o que le kite? De antemano.. gracias..!
Debes quitar los @xxxx, pues ya estas llenando los con las variables.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas