Hallo,
das Datum wird bei allen Datenbanken und bei Windows als Fließkommazahl behandelt, da sonst kein Zeitanteil mit übergeben werden kann.
Zitat von
nieurig:
Wenn Du Parameter verwendest kümmert sich Delphi drum.
Das stimmt so nicht.
Ich habe mir dafür extra Funktionen geschrieben, die das Datum in die entsprechende Schreibweise für die verschiedenen
DB's umwandelt.
@celinaw
Folgendes sollte funktionieren:
Delphi-Quellcode:
function FmtDateMySQL(const aDate:TDateTime; const withTime:Bool=False);
var t, m, j, std, min, sek, hs:Word;
begin
DecodeDate(aDate, j, m, t);
if (withTime)
begin
DecodeTime(aDate, std, min, sek, hs);
Result:=Format('%d-%0.2d-%0.2d %0.2d:%0.2d:%0.2d', [j, m, t, std, min, sek]);
end else Result:=Format('%d-%0.2d-%0.2d', [j, m, t]);
end; // FmtDateMySQL
Für Dein Beispiel:
Delphi-Quellcode:
qryMain.Parameters[0].Value := FmtDateMySQL(StrToDate(EdBegenn.Text));
qryMain.Parameters[1].Value := FmtDateMySQL(StrToDate(EdEnde.Text));