Fórum Intervalo de datas em SQL #187831
10/10/2003
0
Var Inicio, Final: String;
begin
If DateTimePicker2.Date < DateTimePicker1.Date Then
begin
ShowMessage(´Intervalo de datas inválido, a data inicial é maior que a data final!´);
DateTimePicker2.Date := DateTimePicker1.Date;
end
Else
begin
Inicio := DateToStr(DateTimePicker1.Date);
Final := DateToStr(DateTimePicker2.Date);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := ´SELECT * FROM Contatos WHERE Data >=:pInicial and Data<=:pFinal´;
ADOQuery1.Parameters.ParamByName(´pInicial´).AsDateTime := StrToDate(Inicio);
ADOQuery1.Parameters.ParamByName(´pFinal´).AsDateTime := StrToDate(Final);
ADOQuery1.Prepare;
ADOQuery1.Open;
Alquem sabe me dizer porque não funciona.
Desde já agradeço.
Emílio
Emilio
Curtir tópico
+ 0Posts
10/10/2003
Bampavao
ADOQuery1.SQL.Text := ´SELECT * FROM Contatos WHERE Data BETWEEN :pInicial AND :pFinal´;
ADOQuery1.Parameters.ParamByName(´pInicial´).AsDateTime := StrToDate(Inicio);
ADOQuery1.Parameters.ParamByName(´pFinal´).AsDateTime := StrToDate(Final);
Gostei + 0
10/10/2003
Tand
:D
Abraços
Gostei + 0
10/10/2003
Emilio
Existe alguma outra maneira de fazer esta consulta?
Desde já agradeço
Emílio
Gostei + 0
10/10/2003
Bampavao
VEJA SE ASSIM FUNCIONA...
ADOQuery1.SQL.Text := ´SELECT * FROM Contatos WHERE Data BETWEEN :pInicial AND :pFinal´;
ADOQuery1.Parameters.ParamByName(´pInicial´).Value := StrToDate(Inicio);
ADOQuery1.Parameters.ParamByName(´pFinal´).Value := StrToDate(Final);
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)