INSERIR DADOS DE UM DATAGRID EM UM TABELA SQL

GUIMANCINE 04/03/2015 11:34:48
#444939
Tenho um datagrid com alguns registros, como eu faço para pegar esses registros e jogar eles numa tabela do meu sql.
CLAUDIOLUCROCHA 04/03/2015 11:47:55
#444941
Pode ser de forma manual. Um Loop que pega os campos e vai inserindo no arquivo.

Dim Cont As Integer = 0

For cont = 1 To Grw.RowCount - 1
[ô] Pega dados do grid GRW
Nome= Grw.Item(0, Cont).Value
Endereco = Grw.Item(1, Cont).Value

[ô] Coloque aqui o comando Insert do SQL
Next Cont

GUIMANCINE 04/03/2015 12:15:14
#444942
Fica com erro onde esta nome, endereço. depois que fiz a alteração

Fiz da seguinte forma:

Dim Cont As Integer = 0

For Cont = 1 To GridEstacionamentoLavaJato.RowCount - 1
[ô] Pega dados do grid GRW
NumeroPlaca = GridEstacionamentoLavaJato.Item(0, Cont).Value
CdSetor = GridEstacionamentoLavaJato.Item(1, Cont).Value

[ô]SE O TXTDESCRICAO NAO FOR IGUAL A [Ô]CAIXA ABERTO[Ô] O SISTEMA FAZ UM INSERT NA TABELA CAIXA
Dim cn As New SqlConnection([Ô]Data Source=[Ô] & FrmLogin.TxtNomeServidorSQL.Text & [Ô];Initial Catalog= PARKINGCARS;user id=[Ô] & FrmLogin.TxtNomeUsuarioSQL.Text & [Ô];password=[Ô] & FrmLogin.txtsqlsenha.Text & [Ô][Ô])
cn.Open()
Dim cmd As New SqlCommand([Ô]INSERT INTO Movimento (NumeroPlaca, CDsetor, NomeSetor, CDvaga, NomeVaga, CDmodelos, NomeModelo, CDcor, NomeCor, CDConvenio, Convenio, HoraEntrada, DataEntrada, HoraSaida, DataSaida, Permanencia, CDpreco, Descricao, ValorTotal) VALUES ([ô][Ô] & txtdatasaida.Text & [Ô][ô],[ô][Ô] & txthorasaida.Text & [Ô][ô],[ô][Ô] & txtvalorsaida.Text & [Ô][ô])[Ô], cn)
cmd.ExecuteNonQuery()
cn.Close()
Next Cont
JABA 04/03/2015 12:18:13
#444943
Resposta escolhida
Esse código percorre os dados de um datagridview com 3 colunas e joga os dados no banco de dados. Adapte-o conforme o que precisa:

        Using con As OleDbConnection = GetConnection()
Try

Dim sql As String = [Ô]INSERT INTO Cond_Pagamentos (Documento, Data, Valor) VALUES (@Documento, @Data, @Valor)[Ô]

Dim cmd As OleDbCommand = New OleDbCommand(sql, con)

con.Open()

For i As Integer = 0 To DataGridView1.Rows.Count - 1

cmd.Parameters.Clear()
cmd.Parameters.Add([Ô]@Documento[Ô], OleDbType.VarChar).Value = DataGridView1.Rows.Item(i).Cells(0).Value.ToString
cmd.Parameters.Add([Ô]@Data[Ô], OleDbType.VarChar).Value = DataGridView1.Rows.Item(i).Cells(1).Value.ToString
cmd.Parameters.Add([Ô]@Valor[Ô], OleDbType.VarChar).Value = DataGridView1.Rows.Item(i).Cells(2).Value.ToString

cmd.ExecuteNonQuery()

Next i

MsgBox([Ô]Grid Salvo.[Ô], MsgBoxStyle.Information)

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Using
CLAUDIOLUCROCHA 04/03/2015 12:26:16
#444947
Sim o NOME e ENDERECO era so um exemplo para receber o conteudo do grid.
Tópico encerrado , respostas não são mais permitidas