Moin,
wie bekommt man soein TPgIntervalField eigentlich wieder leer, bzw. auf NULL gesetzt?
So geht es zwar:
UPDATE test SET t_interval = NULL WHERE t_id = 3
.
Aber wie geht das in einem TPgQuery, bzw. über die angehängten Edits/Grids?
Delphi-Quellcode:
t_interval.Clear;
// das Edit, bzw. ein DBLookupEdit
Sql.FieldByName('
t_interval').Clear;
Sql.FieldByName('
t_interval').AsString := '
';
...
Der
DB-Monitor zeigt auch an, daß immer nur das "alte" interne TPgInterval übertragen wird, egal was ich versuche.
Man kann das feld z.B. im Grid leer machen und Posten, aber nach dem Refresh ist der alte Wert wieder da.
Andere Intervalle lassen sich problemlos eintragen, nur das NULL nicht.
Und sowas wie "0 mons" nimmt der Parser auch nicht an und es knallt beim Posten.
Solange das Feld leer ist, gibt es keine Probleme, aber wenn einmal was drin steht, dann bekomm ich das nicht mehr weg.
[edit]
Vermuten tun wir allerdings jetzt erstmal einen BUG im PgDAC. (DevExpress spielt zwar auch mit, aber da vermutlich nicht)