Consulta com Dados aleatórios passados como parâmetro.

Delphi

04/11/2004

Tenho no meu BD um campo ´codigo de material´ e preciso saber como faço uma consulta aleatória a este campo passando os valores, por exemplo só quero que seja selecionado os códigos 12,123,455,567. Esses valores vão ser passados pelo usuários na hora da consulta como parâmetro.


Infoy2k

Infoy2k

Curtidas 0

Respostas

Inutaishou

Inutaishou

04/11/2004

Select * From Tabela
Where (Cod = x) Or (Cod = y) Or (Cod = z)


[]´s,


GOSTEI 0
Arc

Arc

04/11/2004

a quantidade de codigos para consulta é livre ????


GOSTEI 0
Infoy2k

Infoy2k

04/11/2004

a quantidade de codigos para consulta é livre ????


Seria livre sim, o usuário é quem vai digitar os códigos. Por exemplo eu teria um listbox e o programa teria que ler todos os códigos digitados adicionar a consulta e trazer os registros referentes.


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/11/2004

Você teria que montar a cláusula WHERE de sua consulta dinamicamente, conforme a quantidade de códigos digitados.


GOSTEI 0
Titanius

Titanius

04/11/2004

Amigo tente:

select * from pedidos
where RECNO in ( 125, 3625, 3652, 1, 254, 7 )


No caso, voce pode por um Edit e mandar o Usuario digitar os codigos, com as virgulas ou com espaço mesmo, aih voce trocaria os espaços pela virgula...

Espero ter ajudado!


GOSTEI 0
Titanius

Titanius

04/11/2004

opa... depois vi q voce quer usar o ListBox.

tente
var
 s: string;
 i: integer;
begin
 for i := 0 to ListBox1.Items.Count -1 do
   s :=  s + ´, ´ + ListBox1.Items.Strings[i];

  Query1.SQL.Add(´select * from pedidos´);
  Query1.SQL.Add(´where RECNO in ( ´ + s + ´)´ );
end;


Nao testei, mas seria basicamente isso..

[]s


GOSTEI 0
POSTAR