Moin Reinhard
Liegt Versand_Datum als Datum in der
DB vor, dann kann es, wenn die Regionaleinstellungen des
DB Servers von denen des Clients abweichen, ganz schnell nach hinten losgehen.
Denn bei der implizierten Umwandlung Date->String / String->Date entscheiden nunmal die Regionaleinstellungen.
Wenn du das Ganze in der Art wie im Code-Schnipsel machst, dann wird exakt ein Datum mit einem Datum verglichen.
Weder der Client noch die
DB haben dann noch eine Möglichkeit irgendwelchen Mist zu bauen. (Oft gesehen: Tag & Monat vertauscht)
Delphi-Quellcode:
Var
such_Datum :TDate;
//...
Begin
//...
Such_Datum := EncodeDate(2004, 04, 13);
With DM_Auftrag.Q_Selbstbucher
Do
Begin
SQL.Text :=
'
SELECT lName' + #10 +
'
,lName2' + #10 +
'
,lPz' + #10 +
'
,lOrt' + #10 +
'
,Versand_ID' + #10 +
'
,Versand_Datum' + #10 +
'
FROM Bestellung' + #10 +
'
WHERE Versand_Datum = :i_Such_Datum' + #10 +
'
GROUP BY Versand_ID';
// Parsen des Statements um Query Parameter zu finden...
Prepared := True;
// Werte an Query Parameter übergeben...
With Parameters.ParamByName('
i_Such_Datum')
Do
Begin
DataType := ftDate;
Value := Such_Datum;
End;
Open;
//...
End;