Consulta em sql
20/08/2004
0
em seql ao clicar o botão ele execute uma query, a consulta teria um
periodo entre essa Data, o inicio e o fim, digamos pegar todos clientes nessa data, mas tenho q usar dois DateTimePicker1, como faço no código sql? ex
query1.sql.add(´select * from cliente where data > DateTimePicker1 and
data < DateTimePicker2´)
como faço isso?
valeu
Luiz_aquino
Posts
20/08/2004
Tnaires
Use parâmetros!
Escreva o seguinte SQL:
SELECT * FROM Cliente WHERE Data BETWEEN :Data1 AND :Data2
E, em tempo de execução:
with qryConsulta do begin Close; ParamByName(´Data1´).AsDateTime := dtpInicio.Date; ParamByName(´Data2´).AsDateTime := dtpFim.Date; Open; end;
Mas atenção! Não esqueça q o DateTimePicker grava horas também. Isso pode levar a erros no resultado. Zere os campos Time dos DateTimePickers.
Abraços
20/08/2004
Luiz_aquino
20/08/2004
Sandra
SELECT * FROM Cliente WHERE Data BETWEEN :Data1 AND :Data2
[b:ccedcafa0e]Ou[/b:ccedcafa0e], seguindo o exemplo do tnaires, pode escrever assim:
with qryConsulta do begin Close; SQL.Add(´SELECT * FROM Cliente ´); SQL.Add(´WHERE Data BETWEEN :Data1 AND :Data2´); ParamByName(´Data1´).AsDateTime := dtpInicio.Date; ParamByName(´Data2´).AsDateTime := dtpFim.Date; Open; end;
20/08/2004
Tnaires
with qryConsulta do begin Close; SQL.Clear; // Esta linha limpa o SQL antes d adicionar algo SQL.Add(´SELECT * FROM Cliente ´); SQL.Add(´WHERE Data BETWEEN :Data1 AND :Data2´); ParamByName(´Data1´).AsDateTime := dtpInicio.Date; ParamByName(´Data2´).AsDateTime := dtpFim.Date; Open; end;
Se der erro d novo... hmmm... q banco vc usa?
Abraços
Clique aqui para fazer login e interagir na Comunidade :)