JOGANDO OS DADOS DO DATAGRID NUMA TABELA DO SQL

GUIMANCINE 18/09/2014 11:58:57
#441321
Como eu jogo os dados de um datagrid numa tabela no SQL.
Por exemplo:
Tenho 4 colunas no datagrid (codigo,nome,endereco,cidade) como eu faço pra jogar esses dados numa tabela no sql.
GUIMORAES 18/09/2014 14:18:46
#441326
Resposta escolhida
percorre os registros do datagrid e faz um insert com o mesmo.

ex:

for i = 0 to dgvTeste.RowCount - 1

insert into tabela (codigo, nome) values (@codigo,@nome)
@codigo = dgvTeste.rows(i).cells([Ô]codigo[Ô]).value
@nome = dgvTeste.rows(i).cells([Ô]nome[Ô]).value
executar insert.

Next
GUIMANCINE 18/09/2014 14:42:09
#441330
Estou fazendo desta forma:

For i = 0 To GridPedido.RowCount - 1
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 MovimentoConvenienciaPedido (Descricao , quantidade, valor, totalproduto) values (@descricao,@quantidade,@valor,@totalproduto)[Ô], cn)
@descricao = GridPedido.Rows(i).Cells([Ô]descricao[Ô]).Value
@quantidade = GridPedido.rows(i).cells([Ô]quantidade[Ô]).value
@valor = GridPedido.rows(i).cells([Ô]valor[Ô]).value
@totalproduto = GridPedido.rows(i).cells([Ô]totalproduto[Ô]).value
cmd.ExecuteNonQuery()
cn.Close()
Next

Mais esta dando erro na seguintes linhas:
@descricao = GridPedido.Rows(i).Cells([Ô]descricao[Ô]).Value
@quantidade = GridPedido.rows(i).cells([Ô]quantidade[Ô]).value
@valor = GridPedido.rows(i).cells([Ô]valor[Ô]).value
@totalproduto = GridPedido.rows(i).cells([Ô]totalproduto[Ô]).value

a mensagem do erro esta na @ e esta escrito assim : Syntax error
OMAR2011 18/09/2014 22:11:53
#441350
Testei e gravou na tabela.
Não está todo legal.
Alguém pode pegar e melhorar.

Dim sql As String
Dim conexao As OleDbConnection
Dim Comando As OleDbCommand
Dim I As Integer
conexao = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\Dados.MDB[Ô])
Comando = conexao.CreateCommand
For I = 0 To DataGridView1.Rows.Count - 1
sql = [Ô]INSERT INTO Fone (Cod,Nome,Fone) VALUES ([ô][Ô] & DataGridView1.Item([Ô]Codigo[Ô], I).Value & [Ô][ô],[ô][Ô] & DataGridView1.Item([Ô]Nome[Ô], I).Value & [Ô][ô],[ô][Ô] & DataGridView1.Item([Ô]Registro[Ô], I).Value & [Ô][ô])[Ô]
[ô]sql = [Ô]INSERT INTO Fone (Cod,Nome,Fone) VALUES ([ô][Ô] & DataGridView1.Rows(I).Cells([Ô]Codigo[Ô]).Value & [Ô][ô],[ô][Ô] & DataGridView1.Rows(I).Cells([Ô]Nome[Ô]).Value & [Ô][ô],[ô][Ô] & DataGridView1.Rows(I).Cells([Ô]Registro[Ô]).Value & [Ô][ô])[Ô]
Try

conexao.Open()
Comando.ExecuteNonQuery()

Catch ex As Exception
[ô] MsgBox(ex.Message)
Finally
conexao.Close()
End Try
Next
GUIMORAES 20/09/2014 11:56:46
#441383
Você deve adicionar os parâmetros.

For i = 0 To GridPedido.RowCount - 1
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 MovimentoConvenienciaPedido (Descricao , quantidade, valor, totalproduto) values (@descricao,@quantidade,@valor,@totalproduto)[Ô], cn)

cmd.Parameters.AddWithValue([Ô]@descricao[Ô], GridPedido.Rows(i).Cells([Ô]descricao[Ô]).Value)
cmd.Parameters.AddWithValue([Ô]@quantidade[Ô], GridPedido.rows(i).cells([Ô]quantidade[Ô]).value)
....

cmd.ExecuteNonQuery()
cn.Close()
Next
Tópico encerrado , respostas não são mais permitidas