Ir para conteúdo

POWERED BY:

Arquivado

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

natalia

Armazenar vários codigos em uma varíavel.

Recommended Posts

Oi pessoal, Preciso que a varíavel varCodProd armazene todos os códigos dos produtos que o select traz do banco.Alguém tem um exemplo?<%strSel = " SELECT CodigoAcessorio FROM Acessorio WHERE CodigoProduto = " & varCodigoSet rs = conn.Execute(strSel) While Not rs.EOF strSel2 = " SELECT CodigoProduto FROM Acessorio_Prod WHERE CodigoAcessorio = " & rs("CodigoAcessorio")Set rs2 = conn.Execute(strSel2) While Not rs2.EOF varCodProd = rs2("CodigoProduto")rs2.MoveNextWendrs.MoveNextWend%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

já tentou usar um array??

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deverá usar um array mesmo. Tenta assim:<%'IcnluidoDim varCodProdDim i'--- fim inclusão strSel = " SELECT CodigoAcessorio FROM Acessorio WHERE CodigoProduto = " & varCodigoSet rs = conn.Execute(strSel)'Icnluidoi = 0'--- fim inclusão While Not rs.EOF strSel2 = " SELECT CodigoProduto FROM Acessorio_Prod WHERE CodigoAcessorio = " & rs("CodigoAcessorio") Set rs2 = conn.Execute(strSel2) While Not rs2.EOF 'Icnluido if not isarray(varCodProd) varCodProd(0) = rs2("CodigoProduto") else redim varCodProd(ubound(varCodProd) + 1) varCodProd(ubound(varCodProd)) = rs2("CodigoProduto") end if '--- fim inclusão rs2.MoveNext Wend rs.MoveNextWend'Recuperando valores do vetorfor i = 0 to Ubound(varCodProd) Response.Write "varCodProd(" & i & ") = " & varCodProd(i) & "<BR>"next%>t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

já tentou fazer assim??

<%while...varCodProd = rs2("CodigoProduto") & ","wend...varCodProd = Left(varCodProd,Len(varCodProd)-1)arrCodProd = Split(varCodProd,",")for i = LBound(arrCodProd) to UBound(arrCodProd)response.write arrCodProd(i) & "<br>"next%>

faça e veja o resultado!!falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu testei com o exemplo do Jothaz e deu esse erro:Erro de tempo de execução do Microsoft VBScript (0x800A000D)Tipos incompatíveisnesta linha: varCodProd(0) = rs2("CodigoProduto")Vou tentar com o segundo exemplo tbém.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa definir a variavel como arraydim varCodProd(numero)onde numero é a quantidade de indices, mais lembre que os indices começam de zero ou seja se você colocar 9 é por que são 10 e assim por diante, se não souber exatamente quantos indices usará sete com redim preserve varCodProd(numero)e cada novo indice seta com um numero maiorespero ter ajudado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe-me ai mas postei o exemplo com um erro!!! Foi mal.Correto: 'Icnluido if not isarray(varCodProd) redim varCodProd(0) '--- Iniciar o vetor com 0 varCodProd(0) = rs2("CodigoProduto") else redim varCodProd(ubound(varCodProd) + 1) varCodProd(ubound(varCodProd)) = rs2("CodigoProduto") end if Acho q tanto o meu exemplo como o do rOcKLoCo vão atendê-la!!t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei o que eu fiz de errado pois só está trazendo o último codigo:varCodProd(0) = varCodProd(1) = varCodProd(2) = varCodProd(3) = varCodProd(4) = varCodProd(5) = 3216

Compartilhar este post


Link para o post
Compartilhar em outros sites

use preserve deposi de redim

 

//aprendi esta com o manga, tive o mesmo problema recentemente

Compartilhar este post


Link para o post
Compartilhar em outros sites

O marioufpa esqueci de colocar o PRESERVE q redefine o total de ocorrência do vertor sem perder o conteúdo!!not isarray(varCodProd)redim varCodProd(0) '--- Iniciar o vetor com 0varCodProd(0) = rs2("CodigoProduto")elseredim PRESERVE varCodProd(ubound(varCodProd) + 1)varCodProd(ubound(varCodProd)) = rs2("CodigoProduto")end if t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza!!Desculpa ai os erros de post mas é q nem sempre é possivel efetuar um teste!! :o )Precisando é só entrar em contato jothaz@hotmail.com.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora foi pessoal, muito obrigada pela ajuda de todos.

tudo bem natalia, precisando você sabe que sempre tem alguem pra ajudar ou pelo menos dar uma luz

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.