Der
Datetime Datentyp des
SQL Server hat eine Genauigkeit von einer 3/100 Sekunden.
Der Delphi Datentyp hat eine höhere Genauigkeit; auf jeden Fall können Rundungsfehler bei der Umrechnung auftreten.
Also darf man eigentlich den Datentyp Datetime nicht auf Gleichheit überprüfen !!
Du könntest nun einen Trick anwenden und deine Zeitwerte vorher runden:
Delphi-Quellcode:
function RoundedDateTime(value:TDateTime):TDateTime;
begin
result := Round(value * 32768) / 32768;
end;
Also anstatt den Wert von Now() direkt zu verwenden, einmal durch obige Funktion jagen und in eine TDateTime Variablen speichern. Dann nur mit diesem Wert arbeiten, denn Now() läuft ja weiter...