Ich habe ein kleines Problem mit einem DATETIME Feld in einer
DB.
Ich importiere die Feldinhalte aus einer Textdatei in die Datenbank. Unter anderem gibt es das Feld GWENDE, welches ein Datum enthält. In manchen Fällen enthält es jedoch auch keine Daten.
So füge ich die Daten in die
DB ein. Die Übergabe der Daten erfolgt über den Record
TP.
Delphi-Quellcode:
TTP =
record
TPID:
String;
TPBEZ:
String;
KST:
String;
SAPNR:
String;
ANLNR:
String;
HERST:
String;
GWENDE: TDateTime;
AUS: Boolean;
LASTCH: TDateTime;
end;
...
SQL.Add('
INSERT INTO TP VALUES(:PTPID,:PTPBEZ,:PKST,:PSAPNR,:PANLNR,:PHERST,:PGWENDE,:PAUS,:PLASTCH);');
Params.ParamValues['
PTPID']:=
TP.TPID;
Params.ParamValues['
PTPBEZ']:=
TP.TPBEZ;
Params.ParamValues['
PKST']:=
TP.KST;
Params.ParamValues['
PSAPNR']:=
TP.SAPNR;
Params.ParamValues['
PANLNR']:=
TP.ANLNR;
Params.ParamValues['
PHERST']:=
TP.HERST;
Params.ParamValues['
PGWENDE']:=
TP.GWENDE;
Params.ParamValues['
PAUS']:=
TP.AUS;
Params.ParamValues['
PLASTCH']:=
TP.LASTCH;
Beim Auslesen der Daten aus der Textdatei muss ich dem Feld
TP.GWENDE etwas zuweisen. Falls keine Daten vorhanden sind weise ich 0 zu, was dummerweise beim Auslesen der Daten aus der
DB zu einem Datum von 30.12.1899 führt, klar. Jetzt könnte ich das natürlich einfach optisch kaschieren und bei der Anzeige im Falle von diesem Datum nichts anzeigen, aber das gefällt mir nicht so ganz. Ich hätte lieber, dass das Feld in der
DB einfach leer ist. Aber mir fällt nicht ein wie ich dass hinkriege.
Jemand ne Idee? Danke!