Consulta em sql
Na minha tabela tenho um campo Data gostaria de fazer uma consulta
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
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
Curtidas 0
Respostas
Tnaires
20/08/2004
Olá
Use parâmetros!
Escreva o seguinte SQL:
E, em tempo de execução:
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
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
GOSTEI 0
Luiz_aquino
20/08/2004
Onde eu implemento a linha com o codigo em sql ou melhor como faço isso?
GOSTEI 0
Sandra
20/08/2004
Luiz,
Essa linha do Select você coloca diretamente na propriedade SQL da sua Query, no Object Inspector.
[b:ccedcafa0e]Ou[/b:ccedcafa0e], seguindo o exemplo do tnaires, pode escrever assim:
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;
GOSTEI 0
Luiz_aquino
20/08/2004
ele da msg de erro Invalid use of Keywords
GOSTEI 0
Tnaires
20/08/2004
Bom... Talvez vc já tenha escrito algo no seu sql e tenha esquecido. Adicione a seguinte linha à sugestão da sandra:
Se der erro d novo... hmmm... q banco vc usa?
Abraços
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
GOSTEI 0