INSERT INTO ITEM_PEDIDO - VALORES DE 6 COMBOBOX

DARIOSALLES 30/10/2012 10:47:56
#413145
Bom dia galera estou com o seguinte problema
preciso inserir em uma tabela 6 registros de 6 combobox que tenho no form dinamicamente,


veja o código abaixo

[ô]inseri os itens do pedido

[ô]Cada produto vindo do combobox
Dim produto As String = [Ô][Ô]
Dim produto1 As String = cbcli_produto1.Text
Dim produto2 As String = cbcli_produto2.Text
Dim produto3 As String = cbcli_produto3.Text
Dim produto4 As String = cbcli_produto4.Text
Dim produto5 As String = cbcli_produto5.Text
Dim produto6 As String = cbcli_produto6.Text

[ô]Unidade de cada produto, se é M2, RL ou BB
Dim unprod As String = [Ô][Ô]
Dim unprod1 As String = cbcli_uni1.Text
Dim unprod2 As String = cbcli_uni2.Text
Dim unprod3 As String = cbcli_uni3.Text
Dim unprod4 As String = cbcli_uni4.Text
Dim unprod5 As String = cbcli_uni5.Text
Dim unprod6 As String = cbcli_uni6.Text

[ô]Quantidade de cada produto
Dim qtd As String = [Ô][Ô]
Dim qtd1 As String = txtcli_qtd1.Text
Dim qtd2 As String = txtcli_qtd2.Text
Dim qtd3 As String = txtcli_qtd3.Text
Dim qtd4 As String = txtcli_qtd4.Text
Dim qtd5 As String = txtcli_qtd5.Text
Dim qtd6 As String = txtcli_qtd6.Text

[ô]Valor unitario de cada produto
Dim vun As String = [Ô][Ô]
Dim vun1 As String = txtcli_vu1.Text
Dim vun2 As String = txtcli_vu2.Text
Dim vun3 As String = txtcli_vu3.Text
Dim vun4 As String = txtcli_vu4.Text
Dim vun5 As String = txtcli_vu5.Text
Dim vun6 As String = txtcli_vu6.Text

For i As Integer = 1 to 6

sql = [Ô]Insert into item_pedido(npedido,produto,un,qtd,valorun,valortotal,ativado) values([ô][Ô] & txtcli_npedido.Text & [Ô][ô],[ô][Ô] & produto(i) & [Ô][ô],[ô][Ô] & unprod(i) & [Ô][ô],[ô][Ô] & qtd(i) & [Ô][ô],[ô][Ô] & vun(i) & [Ô][ô],[ô]Total[ô],[ô]S[ô])[Ô]

[ô]abrindo a conexao
cn = New OleDbConnection(strconexao)
cn.Open()

[ô]executando o comando
cmd = New OleDbCommand(sql, cn)
cmd.ExecuteNonQuery()
Next

[ô] sucesso
Dim ok As String
ok = [Ô]Pedido inserido com sucesso[Ô]
MsgBox(ok)

No Asp clássico faço assim mesmo mas no vb.net não to conseguindo, o que fiz de errado?
ALTAIR148 30/10/2012 10:52:22
#413146
Bom dia,

Amigo, primeiramente precisamos saber o que está acontecendo. Ocorre algum erro?
DARIOSALLES 30/10/2012 13:15:24
#413150
O vb diz que o erro de sintaxe ta no insert

[ô]sql = [Ô]Insert into item_pedido(npedido,produto,un,qtd,valorun,valortotal,ativado) values([ô][Ô] & txtcli_npedido.Text & [Ô][ô],[ô][Ô] & produto(i) & [Ô][ô],[ô][Ô] & unprod(i) & [Ô][ô],[ô][Ô] & qtd(i) & [Ô][ô],[ô][Ô] & vun(i) & [Ô][ô],[ô]Total[ô],[ô]S[ô])[Ô]



ALTAIR148 30/10/2012 13:19:51
#413151
Ok, ocorre um erro. E qual erro? A mensagem também é muito importante para ajudar a identificar o erro.
ALTAIR148 30/10/2012 13:22:52
#413153
O campo valortotal, ele é do tipo númerico?
DARIOSALLES 30/10/2012 13:28:58
#413155
dos campos o único que é numérico é o idproduto, pois como estou fazendo testes ainda não formatei o bd corretamente
ALTAIR148 30/10/2012 13:36:53
#413156
Isso não é erro na SQL, o erro está no laço. Neste caso ai teria que criar um array, um exemplo abaixo de como ficaria +/-

Dim produto() As String = {cbcli_produto1.Text, cbcli_produto2.Text, cbcli_produto3.Text, cbcli_produto4.Text, cbcli_produto5.Text, cbcli_produto6.Text}
For i As Integer = 0 To 5



Next


Agora tente fazer com os outros itens para ver se resolve.


DARIOSALLES 30/10/2012 14:24:23
#413157
Deu certo, ficou assim

Citação:

[ô]inseri os itens do pedido

Dim produto() As String = {cbcli_produto1.Text, cbcli_produto2.Text, cbcli_produto3.Text, cbcli_produto4.Text, cbcli_produto5.Text, cbcli_produto6.Text}
Dim unprod() As String = {cbcli_uni1.Text, cbcli_uni2.Text, cbcli_uni3.Text, cbcli_uni4.Text, cbcli_uni5.Text, cbcli_uni6.Text}
Dim qtd() As String = {txtcli_qtd1.Text, txtcli_qtd2.Text, txtcli_qtd3.Text, txtcli_qtd4.Text, txtcli_qtd5.Text, txtcli_qtd6.Text}
Dim vun() As String = {txtcli_vu1.Text, txtcli_vu2.Text, txtcli_vu3.Text, txtcli_vu4.Text, txtcli_vu5.Text, txtcli_vu6.Text}

For i As Integer = 0 To 5

sql = [Ô]Insert into item_pedido(npedido,produto,un,qtd,valorun,valortotal,ativado) values([ô][Ô] & txtcli_npedido.Text & [Ô][ô],[ô][Ô] & produto(i) & [Ô][ô],[ô][Ô] & unprod(i) & [Ô][ô],[ô][Ô] & qtd(i) & [Ô][ô],[ô][Ô] & vun(i) & [Ô][ô],[ô]Total[ô],[ô]S[ô])[Ô]

[ô]bloco de tratamento de erro
Try

[ô]abrindo a conexao
cn = New OleDbConnection(strconexao)
cn.Open()

[ô]executando o comando
cmd = New OleDbCommand(sql, cn)
cmd.ExecuteNonQuery()

Catch [ô]tratando o erro
[ô]fechando a conexao
cn = Nothing

[ô]mostrando o erro
MsgBox(Err.Description)


End Try
Next

[ô] sucesso
Dim ok As String
ok = [Ô]Pedido inserido com sucesso[Ô]
MsgBox(ok)

DARIOSALLES 30/10/2012 14:26:06
#413158
Obrigado pela ajuda
ALTAIR148 30/10/2012 14:27:13
#413159
Resposta escolhida
Ok!

Precisando estamos aí.

Não se esqueça de encerrar o tópico.
Tópico encerrado , respostas não são mais permitidas