Hallo
Habe seit Delphi 2007 folgendes Problem (Programm wurde ursprünglich mit Delphi7 geschrieben).
siehe Code:
Delphi-Quellcode:
// Mutationsuser und Mutationsdatum eintragen
wdatum:=strtodatetime(formatdatetime('dd.MM.yyyy hh:nn', now));
updPersonal.ParamByName('MUTDATUM').AsTime:=wdatum;
// showmessage(datetimetostr(updPersonal.Params.ParamByName('MUTDATUM').AsTime)); // TEST
updPersonal.ParamByName('MUTUSER').AsString:=uppercase(username);
updPersonal ist eine TSQLQuery. Mithilfe dieser Komponente wird ein Update auf eine Tabelle durchgeführt. In ein Feld MUTDAUM wird das aktuelle Datum inkl. Uhrzeit eingetragen. Ich weise der Variable wdatum (tdate) das Datum und Zeit zu.
Wenn ich die Variable wdatum auslese oder anzeigen lasse stimmt das Datum auch perfekt. Auch nach der Zuweisung (siehe showmessage Zeile) wird das korrekte Datum angezeigt.
ABER:
in der Tabelle ist nach dem Vorgang folgendes gespeichert: 30.12.1899 13:40:00
Das Datum ist falsch (also wie leer), die Zeit aber stimmt.
Wie kommt sowas?