Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!
Preciso inserir um conteúdo a partir de um campo do meu banco.
Tenho uma tabela Produtos, onde busco os produtos selecionados.
Para cada produto selecionado, preciso que grave uma informação na minha tabela Vendidos.
Tentei dessa forma, porém só gravou o último pedido selecionado, ignorando os demais.
sql = "select * from cart where id_pedido =" & session("pedido")
set rsprodutos = GetRS(sql)
do while not rsprodutos.eof
sql = "insert into produtos_vendidos ( "
sql = sql & "id_pedido,"
sql = sql & "id_produto,"
sql = sql & "quantidade)"
sql = sql & " VALUES ("
sql = sql & "'" & session("pedido") & "',"
sql = sql & "'" & rsprodutos("id_produto") & "',"
sql = sql & "'" & rsprodutos("quantidade") & "')"
call executecmd(sql)
rsprodutos.movenext 'Passa pro próximo
Loop
Como posso realizar esse insert?
Obrigado!olha estes exemplos:
if qtd_produtos = "" then
Response.write("erro..."
response.redirect("outra_pagina.asp")
else
qtd_produtos = split(Request.Form("qtd_produtos"),",")
if qtd_produtos = ""
produtos= Split(Request.Form("produtos"), ",")
For i = 1 To Request.Form("produtos").Count
Response.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"
SQL = "INSERT INTO lista (lista_prodID,lista_quant) Values ('"&request.form("produtos")(i)&"','"&request.form("qtd_produtos")(i)&"')"
OUTRO EXEMPLO
<%
dim conn
'Criamos o objeto de conexão
Set conn = Server.CreateObject("ADODB.Connection")
'Abrimos uma conexão com o banco de dados - [IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
conn.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=database;USER=root;PASSWORD=211613;OPTION=3;")
checkbox = request.form("teste").Count
response.Write("<br>"&checkbox&"<br />")
for i = 0 to checkbox-1
'response.Write(split(Request.Form("teste"),",")(i)&"<br />")
set inerir = conn.execute("insert into arquivomb (arquivo,notafiscal) values ("&split(Request.Form("teste"),",")(i)&","&Request.Form("users")&")")
next
response.Write("Cadastrado")
conn.Close()
'Destruímos o objeto
Set conn = Nothing
%>
>
Em 25/02/2017 at 20:40, xanburzum disse:
olha estes exemplos:
if qtd_produtos = "" then
Response.write("erro..."
response.redirect("outra_pagina.asp")
else
qtd_produtos = split(Request.Form("qtd_produtos"),",")
if qtd_produtos = ""
produtos= Split(Request.Form("produtos"), ",")
For i = 1 To Request.Form("produtos").Count
Response.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"
SQL = "INSERT INTO lista (lista_prodID,lista_quant) Values ('"&request.form("produtos")(i)&"','"&request.form("qtd_produtos")(i)&"')"
OUTRO EXEMPLO
<%
dim conn
'Criamos o objeto de conexão
Set conn = Server.CreateObject("ADODB.Connection")
'Abrimos uma conexão com o banco de dados - [IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
conn.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=database;USER=root;PASSWORD=211613;OPTION=3;")
checkbox = request.form("teste").Count
response.Write("<br>"&checkbox&"<br />")
for i = 0 to checkbox-1
'response.Write(split(Request.Form("teste"),",")(i)&"<br />")
set inerir = conn.execute("insert into arquivomb (arquivo,notafiscal) values ("&split(Request.Form("teste"),",")(i)&","&Request.Form("users")&")")
next
response.Write("Cadastrado")
conn.Close()
'Destruímos o objeto
Set conn = Nothing
%>
Adaptei o código e quando chega na função COUNT exibe o erro:
Erro de tempo de execução do Microsoft VBScript erro '800a01a8'
Objeto necessário
/grava_pedido.asp, linha 62
Meu código
<%
sql = "select * from cart where id_pedido =" & session("pedido")
set rsprodutos = GetRS(sql)
dim prod1, produtos, i
do while not rsprodutos.eof
prod1 = prod1+cStr(rsprodutos("quantidade"))+","
rsprodutos.movenext
loop
produtos= Split(prod1, ",")
response.write(produtos.Count)
For i = 0 To produtos.Count
sql = "insert into produtos_vendidos ( "
sql = sql & "id_pedido,"
sql = sql & "id_produto,"
sql = sql & "quantidade)"
sql = sql & " VALUES ("
sql = sql & "'" & session("pedido") & "',"
sql = sql & "'" & "1" & "',"
sql = sql & "'" & int(produtos(i)) & "')"
call executecmd(sql)
next
%>
Consegui realizar o Insert utilizando o loop mesmo, obrigado! :D
mostre a função executecmd... olhando assim a construção da sql está legal...
detalhe de menos importância... o campo id_produto e quantidade são campos texto?