Multiselect para Query

Delphi

26/05/2003

Ae

Fiz um software recentemente para um controle de pagamentos, só que preciso passar o resultado de um multiselect de um DBGrid para uma outra query.

Alguem me sugere algo.

Fiz com um for gravando uma string do tipo ... where id=valor[1] and id=valor[2] and ...

Só que acho que deve ter algo melhor nao !?

Valeu


Kamello

Kamello

Curtidas 0

Respostas

Nglauber

Nglauber

26/05/2003

Bem colega, para o sql vc poderia usar a cláusula IN. Por exemplo:
Select * from Tabela Where Id IN (1, 2, 3, 4)


e para montar a essa String do ´IN´ vc poderia fazer o seguinte:
var
i : Integer;
s : String;
begin
   for i := 0 to DBGrid1.SelectedRows.Count-1 do
   begin
      suaQuery.GotoBookMark(Pointer(DBGrid1.SelectedRows[i]));
      if s = "" then
         s := suaQuery.FieldBuName(´ID´).AsString
      else
         s := s +´,´+ suaQuery.FieldBuName(´ID´).AsString
   end;
end;


Espero que possa ter ajudado!


GOSTEI 0
Kamello

Kamello

26/05/2003

Valeu, deu certo, eu nao lembrado IN, valeu mesmo


Bem colega, para o sql vc poderia usar a cláusula IN. Por exemplo:
Select * from Tabela Where Id IN (1, 2, 3, 4)
e para montar a essa String do ´IN´ vc poderia fazer o seguinte:
var
i : Integer;
s : String;
begin
   for i := 0 to DBGrid1.SelectedRows.Count-1 do
   begin
      suaQuery.GotoBookMark(Pointer(DBGrid1.SelectedRows[i]));
      if s = "" then
         s := suaQuery.FieldBuName(´ID´).AsString
      else
         s := s +´,´+ suaQuery.FieldBuName(´ID´).AsString
   end;
end;
Espero que possa ter ajudado!



GOSTEI 0
POSTAR