Efectivamente si te quieres quitar dolores de cabeza envia parametros, yo lo he hecho asi usando ADO y Access
Código Delphi
[-]
With ConsultaTotales1 do
Begin
Close;
SQL.Clear ;
miSQL := '';
miSQL := 'SELECT * FROM Captura ' +
'WHERE (HoraFecha BETWEEN :FIni AND :FFin)' +
'ORDER BY Consecutivo';
SQL.Add(miSQL);
Parameters.ParamByName('FIni').Value := FechaInicio;
Parameters.ParamByName('FFin').Value := FechaFinal;
Open;
procedure TfrmHoraFecha.Button1Click(Sender: TObject);
var
HInicial, HFinaliza : TDateTime;
begin
HInicial := StrtoDateTime(meTInicio.Text);
DateTimetoString(HoraInicio, 'hh:nn:ss am/pm', HInicial);
HFinaliza := StrtoDateTime(meTFinal.text);
DateTimetoString(HoraFinal, 'hh:nn:ss am/pm', HFinaliza) ;
FechaInicio := meFInicio.Text + ' ' + HoraInicio ;
FechaFinal := meFFin.Text + ' ' + HoraFinal ;
MDatos.ConsultaHoraFecha ;
Close;
end;