Ir para conteúdo

POWERED BY:

Arquivado

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

mmw

[Resolvido] Select SQL dinâmico

Recommended Posts

Olá pessoal. Estou com um problema.

 

Estou tentando gerar uma consulta dinamica em SQL, usando ASP e Access.

 

Em uma busca normal eu faria da seguinte maneira:

 

StrString = "select * from tabela where nome = " &nome
set rsString = conn.execute(StrString)

response.write(rsString("sobrenome"))

Isto me geraria o seguinte. Ao buscar um nome ele buscaria no banco e me retornaria o todos os sobrenomes do nome buscado.

 

Agora como eu posso fazer isto dinamicamente?

 

Por exemplo, ao invés do usuário puder buscar um só nome buscar quantos ele quiser?

 

É como se meu script me devolve-se da seguinte maneira:

 

StrString = "select * from tabela where nome = maria"
StrString = "select * from tabela where nome = jose"
StrString = "select * from tabela where nome = joao"
StrString = "select * from tabela where nome = patricia"
StrString = "select * from tabela where nome = luana"
StrString = "select * from tabela where nome = zezinho"

response.write(rsString("sobrenome"))

response.write(rsString("sobrenome"))

Tentei fazer assim:

 

nome = split(nome,",",-1,1)

foreach x in nome

StrString = "select * from tabela where nome = " &x
set rsString = conn.execute(StrString)

response.write(rsString("sobrenome"))

next

Só que dá erro.

 

Microsoft JET Database Engine erro '80040e14'

 

Erro de sintaxe (operador faltando) na expressão de consulta

 

Alguém tem alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui galera, da seguinte maneira, se tiver uma solução melhor

 

nome = request.form("nome")
nomearray = split(nome,",",-1,1)

i = 0

for each x in nomearray

StrString = "select * from tabela where nome= '"&nomearray(i)&"'"
set rsString = conn.execute(StrString)
i = i+1
response.write(rsString("sobrenome"))

next

Fica ae a sugestão para alguém que no futuro tenha a mesma dúvida.

 

Abraços

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.