Ir para conteúdo

POWERED BY:

Arquivado

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

Nabvchodhonozohr

String do tipo array. Usar dados para consulta sql

Recommended Posts

Olá pessoal!Sou meio iniciante nesse mundo ASP e o meu problema é o seguinte: tenho um controle select mútlipo, do tipo com seleção múltipla, e ele me retorna no post uma variável do tipo array com as várias strings separadas por ", ". O problema é q eu tenho q pegar cada string e usá-las em uma consulta sql utlizando OR tipo:seg = request("segm")"SELECT * FROM Tabela WHERE Segmentação = '" & seg1 & "' OR Segmentação = '" & seg2 & "' ... ORDER BY ..."o problema é q a consulta fica mais complexa de acordo com o número de seleções, e os valores de cada seleção passada tem q ter o OR depois senão não funciona na consulta.Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa um split para separar cada valor e depois escreve a partir dos indices

Compartilhar este post


Link para o post
Compartilhar em outros sites

Td bem, usei e na hora de escrever ele escreve a partir do índice. Porém como eu vou saber quantos índices, ou seja, quantos foram selecionados pra escrever cada um? Através de um while ou for? Mas como retornar a quantidade para esse while ou for?

Compartilhar este post


Link para o post
Compartilhar em outros sites

USA UM FORFOR X = LBOUND(NOME_ARRAY) TO UBOUND (NOME_ARRAY)MONTA A SQL AQUI...NEXT

Compartilhar este post


Link para o post
Compartilhar em outros sites

LBOUND(NOME_ARRAY)
Menor Indice

 

UBOUND (NOME_ARRAY)
Maior Indice

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Demorei um pouco a fazer, tô achando meio bagunçado mas tá funcionando. Se alguém conseguir fazer mais simples por favor poste aqui. Aí vai:

 

i=0strsql2 = ""if (len(seg(0)) <> 0) then  for i=LBound(seg) to UBound(seg)  strsql2 = strsql2 & seg(i)  if i = UBound(seg) then   exit for   else  strsql2 = strsql2 & "' OR Segmentação = '"  end if	next	strsql = "SELECT * FROM Tabela WHERE Segmentação = '" & strsql2 & "' ORDER BY Cidade, Bairro, Empresa ASC"End if

Compartilhar este post


Link para o post
Compartilhar em outros sites

que bom que você conseguiu

 

Qualquer duvida posta ai que alguem ajuda

 

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

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.