nur nochmal Einiges aufgezählt:
Delphi-Quellcode:
Sql.FieldByName('
t_interval').AsString := '
';
Sql.FieldByName('
t_interval').AsString := '
00:00:00';
Sql.FieldByName('
t_interval').Clear;
with (
Sql.FieldByName('
t_interval')
as TPgIntervalField).AsPgInterval
do begin
MonthsFull := 0;
Days := 0;
SecondsFull := 0;
end;
Sql.FieldByName('
t_interval').SetData(
nil, True);
Sobald die Zeit auf "0" gesetzt wird, dann knallt es beim Post mit folgendem Fehler.
Zitat:
EPgError:
invalid input syntax for type interval: ""
Vorallem der Letzte versuchte das hinzubekommen, wie der Status vom TPgIntervalField ursprünglich ist, wenn das Feld schon als NULL aus der
DB ausgelesen wurde.
Nja, außer einer Meldung an DavArt (PgDAC) und zu warten wann der Fehler behoben wird, scheint wohl nicht möglich zu sein.
Ich hab in unserem Projekt erstmal aufgegeben und neben die Felder einen Button gemacht, welcher direkt das Update-Statement zur Datenbank schickt.
(das Update- und Insert-Statement manuell zu erstellen und das nicht vom PgDAC erledigen zu lassen ist hier keine so schöne Variante, da diese praktisch überall automatisch generiert werden und wir bei Änderungen diese Statements ganz bestimmt übersehn würden)