Fórum Consulta SQL - Mais de um dado #286348
28/06/2005
0
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´SELECT * FROM PRODUTOS WHERE CODIGO =:VCodigo´);
Query1.Params[0].asInteger = 10;
Query1.Open;
Como ficaria uma consulta em que o usuário informa o código para procura? O usuário poderia digitar um, dois, ou mais códigos e quero listar todos.
Obrigado.
Valdirdill
Curtir tópico
+ 0Posts
28/06/2005
Tnaires
SELECT * FROM PRODUTOS WHERE Codigo IN (1, 2, 3, etc...)
Vc vai ter q implementar algo q construa a lista de valores entrados pelo usuário pra passar pra consulta, coisa do tipo: armazenar num array, etc...
Abraços
Gostei + 0
28/06/2005
Marlon Spiess
1) vc informar código inicial e final, então na clausula where põe cod >= :ci and cod <= :cf;
2) caso vc tenha um array com os códigos, então a clausula where ficaria assim: where cod in :myarray;
Boa sorte
Gostei + 0
29/06/2005
Valdirdill
Como passo o array como parâmetro?
Gostei + 0
29/06/2005
Marlon Spiess
Ex:
a -> array
s -> string
a = 1
2
5
10
s = ´1,2,5,10´
então na clausula where da sua query
where cod in (:s)
espero ter ajudado
Gostei + 0
29/06/2005
Valdirdill
Mas nesse caso não precisaria do array. Poderia atribuir os valores diretamente para o params.
Query1.params[0].Value := Edit1.text + ´,´ + Edit2.text +´,´+...
Certo?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)