Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
Delphi 12 Athens
|
AW: ID im Datagrid -1
2. Jul 2021, 12:13
TDataSet.Insert erstellt nur "lokal" den Datensatz/Record.
Die AUTOINC- und DEFAULT-Felder werden aber erst beim INSERT-Statement in der Datenbank gefüllt, also im DataSet.Post .
DataSet.Post schickt nur die "gefüllten" Felder beim INSERT ab. Alles was nicht explizit im Statement steht (DEFAULT/AUTOINC), wird dabei von der Datenbank gefüllt.
Du kannst aber im DataSet.AfterInsert von der Datenbank diese DEFAULT/GENERATOREN abfragen und bei dir eintragen, dann sehen auch die User das schon vor dem Post.
Die Tabellen/Feld-Definition von der Datenbank abfragen, dort das nehmen, was beim DEFAULT steht,
und dann SELECT {derTextVomDefaultDesFields} AS {FieldName}, ...
.
Bedenke aber, dass bei einem CANCEL, dann eine Lücke entsteht, wenn der AUTOINC-Wert dann doch nicht verwendet wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
Geändert von himitsu ( 2. Jul 2021 um 12:21 Uhr)
|