Hallo !
Ich möchte mit einer
SQL-Abfrage alle Datensätze haben, die zwischen vonDatum vonZeit und bisDatum bisZeit liegen.
Im Formular gibt es 6 Eingabemöglichkeiten:
vonDatum : DateTimePicker
bisDatum : dateTimePicker
vonDatumVonZeit : maskEdit liefert einen String
vonDatumBisZeit : maskEdit ....
bisDatumVonZeit : maskEdit ....
bisDatumBisZeit : maskEdit ....
in der Datenbank habe ich ein Feld Datum Typ Date und ein Feld ZEIT typ String.
Wie müsste der
SQL Befehl aussehen, damit ich alle Datensätze erhalte, die zwischen dem
03.03.2006 / 02:00:00 Uhr und dem
04.03.2006 / 03:00:00 Uhr liegen ?
Ich habe es folgendermassen probiert :
Delphi-Quellcode:
SQL_TEXT := SQL_TEXT +
' Where (DATUM >= :voDatum and Zeit >=:vonZeit) '+
'and (DATUM <= :biDatum and ZEIT <=:bisZEIT)';
cxMemo.Lines.Add(SQL_TEXT);
ABSQuery.SQL.Add(SQL_TEXT);
with ABSQuery.Params do begin
ParamValues['voDatum'] :=DateToStr(vonDatum.Date);
ParamValues['vonZeit'] :=edVonDatvonZeit.Text;
//ParamValues['vonLeer'] :='23:59:59';
ParamValues['biDatum'] :=DateToStr(bisDatum.Date);
//ParamValues['bisLeer'] :='00:00:00';
ParamValues['bisZEIT'] :=edbisDatbisZeit.Text;
end;
Hier erhalte ich aber nur Datensätze, die vom 03.04.2006 ab 02:00:00 bis 03:00:00 liegen.
Was stimmt hier nicht ?