![]() |
Datenbank: Mariadb • Version: 10.3.10 • Zugriff über: Firedac
ID im Datagrid -1
Ich habe in einer Testanwendung(Delphi 10.4.1) auf dem Formular
FDConnection1, FDQuery1, Datasource1, DBGrid1, DBNavigator1 Die Tabelle hat ein Feld ID(Primarykey, AUTO_INCREMENT) und NAME(Char) Beim Einfügen(DBNavigator1 + oder FDQuery1.Insert) eines neuen Datensatzes steht in der Spalte ID -1. Nach dem Abspeichern die richtige nächste ID. Die Spalte ID visible no funktioniert nur im Designmodus. Startet man das Programm ist die Spalte ID jedoch sichtbar. |
AW: ID im Datagrid -1
Hallo,
dann setze die Spaltenbreite zur Laufzeit doch auf 0. DBGrid.Columns[0] := 0 oder so ähnlich |
AW: ID im Datagrid -1
Zitat:
|
AW: ID im Datagrid -1
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
Delphi-Quellcode:
.
SELECT {derTextVomDefaultDesFields} AS {FieldName}, ...
Bedenke aber, dass bei einem CANCEL, dann eine Lücke entsteht, wenn der AUTOINC-Wert dann doch nicht verwendet wird. |
AW: ID im Datagrid -1
Vielen Danke für eure Hinweise.
Im onCreate des Formulares eine Prozedure mit DBGrid1.Columns[0].width := 0; und die Spalte ist weg.:thumb: |
AW: ID im Datagrid -1
Ein
Delphi-Quellcode:
wäre da vielleicht etwas angemessener.
FDQuery1.Fields[0].Visible := False
|
AW: ID im Datagrid -1
:thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz