Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marceltk

[Resolvido] For each, .

Recommended Posts

Bom pessoal, boa tarde.

 

seguinte.. tenho um código aqui.. fiz ele mais eu to com uma dúvida..

 

o código eh +/- assim

produtos = request.Form("produtos")
quantidade = request.form("quantidade")

For each Produtos In Request.Form("produtos")
Sql = "Insert Into produtos (produtos,quantidade) values ('"&produtos&"', '"&quantidade&"')"
COnexao.Execute (Sql)
Next

COnexao.Close
Set Conexao.Nothing
até então tudo bem.. ele vai inserir produto por produto.. cada um em uma linha da tabela no banco de dados..

mais acontece que o segundo intem (QUANTIDADE) ele insere os mesmos valores para todos..

alguem sabe como eu faço para o código fazer um loop nos dois campo do form e inserir os dados correspondente?

 

no meu bd fica assim

estou usando Mysql 5

 

PRODUTO | QUANTIDADE

A 0

B 0

C 0

D 0

 

e eu queria que ficasse assim

PRODUTO | QUANTIDADE

A 0

B 1

C 2

D 3

 

se puderem me ajudar.. agradeço..

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

For each Produtos In Request.Form("produtos").Count
	 Response.Write Request.Form("produtos")(Produtos) & "<br />"
Next

Acho que não é possível você utilizar For each com dois campos ao mesmo tempo. Converta o campo quantidade para vetor... ex.

 

quantidade = split(Request.Form("quantidade") & "," ,",")
For each Produtos In Request.Form("produtos").Count
	 Response.Write Request.Form("produtos")(Produtos) & ":" & quantidade(Produtos) & "<br />"
Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi tamebm esta estrutura de como esta passando os dados

 

pelo que ta escrito ali é logico que vai inserir o mesmo valor em tudo aj que recupera la em cima e nao manipula mais o valor da quantidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

For each Produtos In Request.Form("produtos").Count
	 Response.Write Request.Form("produtos")(Produtos) & "<br />"
Next

Acho que não é possível você utilizar For each com dois campos ao mesmo tempo. Converta o campo quantidade para vetor... ex.

 

quantidade = split(Request.Form("quantidade") & "," ,",")
For each Produtos In Request.Form("produtos").Count
	 Response.Write Request.Form("produtos")(Produtos) & ":" & quantidade(Produtos) & "<br />"
Next

cara vo tentar aqui..

mais eu ja fiz algo parecido.. ele insere beleza.. mais sempre o msm numero.. vou teste.. e posto a resposta..

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon seguinta..

Erro de tempo de execução do Microsoft VBScript erro '800a01c3'

 

O objeto não é uma coleção

 

aparece esse erro quando eu coloco no final

 

For each produtos In Request.Form("produtos").Count

agora se eu tiro o Count ele funciona normalmente..

porém a inserção de dados na tabela

fica assim

1-b

2-c

3-d

4-e

5 fica sem valor, ele pula um para inserir..

eu num faço a minina idéia de onde esteja o erro..

se puder mi ajudar.. agraedço..

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera

For each produtos In Request.Form("produtos").Count

 

Para

For i = 1 To Request.Form("produtos").Count

 

E

Response.Write Request.Form("produtos")(Produtos) & ":" & quantidade(Produtos) & "<br />"

 

Para

Response.Write Request.Form("produtos")(i) & ":" & quantidade(i) & "<br />"

Compartilhar este post


Link para o post
Compartilhar em outros sites

:mellow:

 

nao entendi tamebm esta estrutura de como esta passando os dados

 

pelo que ta escrito ali é logico que vai inserir o mesmo valor em tudo aj que recupera la em cima e nao manipula mais o valor da quantidade

Mario peguei o cod errado..

era mais ou menos aquilo

mais eu estava colocando o Request.Form dentro do For Each..

ele adicionava todas as linhas assim 1,2,3,4,5

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera

For each produtos In Request.Form("produtos").Count

 

Para

For i = 1 To Request.Form("produtos").Count

 

E

Response.Write Request.Form("produtos")(Produtos) & ":" & quantidade(Produtos) & "<br />"

 

Para

Response.Write Request.Form("produtos")(i) & ":" & quantidade(i) & "<br />"

qtd_produtos = split(Request.Form("qtd_produtos"),",")
produtos= Split(Request.Form("produtos"), ",")
For produto = 0 To Ubound(produtos)
strSQL = "INSERT INTO lua_orcamentos (produtos,qtd_produtos) Values ('"&qtd_produtos(produto)&"','"&produtos(produto)&"')"
Conexao.Execute(strSQL)
Next

Galera Consegui assim, insere perfeitamente no banco de dados..

mais ainda ta com problema

 

fica assim

a primeira linha

A|1

 

depois da primeira linha fica com um espaço no começo..

eu coloco a função TRIM antes de passar os valores..

msm assim fica com espaço...

alguma luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse "produto" é digitado? Se for é melhor fazer da forma que falei, pois o usuário pode digitar uma vírgula e aí vai bagunçar tudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

For i = 1 To Request.Form("produtos").Count
Response.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"
SQL = "INSERT INTO lua_orcamentos (produtos,qtd_produtos) Values ('"&request.form("produtos")(i)&"','"&request.form("qtd_produtos")(i)&"')"
Conexao.Execute (SQL)
Next

Ta aí a solução definitiva para os problemas..

Galera.. brigadão..

 

Imasters é o fóruM!..

abraços!

Podem fechar.. http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana. Só não precisa manter o response.write ali.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom qeu resolveu tudo

 

Parabens

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.