Multiselect para Query
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
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
Curtidas 0
Respostas
Nglauber
26/05/2003
Bem colega, para o sql vc poderia usar a cláusula IN. Por exemplo:
e para montar a essa String do ´IN´ vc poderia fazer o seguinte:
Espero que possa ter ajudado!
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
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:
e para montar a essa String do ´IN´ vc poderia fazer o seguinte:
Espero que possa ter ajudado!
Select * from Tabela Where Id IN (1, 2, 3, 4)
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;
GOSTEI 0