Dass es in #2 geht, ist verständlich, da dort die Komponente deine ID-Spalte garnicht kennt, ihr Required somit nie beachtet und weil sie nie im generierten Statement vorkommen kann, sie immer von der
DB mit dem Default (AutoInc) gefüllt wird,
aber da Firebird auch ein RETURNING kennt, weil du ja
dennoch die ID wissen wolltest ...
SQL-Code:
FInsertQuery.SQL.Text := 'insert into MY_TEXTS (TEXT) values (:TEXT) returning ID';
FInsertQuery.ParamByName('TEXT').AsString := Item.Text;
FInsertQuery.Open;
Item.ID := FInsertQuery.FieldByName('ID').AsInteger;
FInsertQuery.Close;
Ein Therapeut entspricht 1024 Gigapeut.