Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#7

AW: AutoInc primary key Feld wird immer auf 0 gesetzt

  Alt 26. Apr 2025, 20:05
Normal sollte doch FireDAC auch nur ein INSERT-Statement mit den gefüllten Feldern generieren?
Felder, welche nicht im Statement drin stehen, werden serverseitig via Default/AutoInc gefüllt.

Im Grunde halte ich es eigentlich für einen gewaltigen Bug, dass bei Default/AutoInc-Feldern das Required im TField gesetzt wird, denn es ist eben nicht "wirklich" required (clientseitig).

Bei FireDAC kann man bestimmt auch deaktivieren, dass Required gesetzt wird.
Required prüft lokal, im BeforePost, aber es wird ja eh nochtmal serverseitig geprüft.

Keine Ahnung, was AutoIncFields überhaupt macht.
Wir nutzen eine abgeleitete pgDAC-Klasse, wo im AfterInsert über ein SELECT vom Server die Default/AutoInc-Werte geholt und in die Fields kopiert werden.
* einmal knallt es so bei Required-Check nicht
* und außerdem sieht man bereits vor dem Post (im Edit/Grid), was überall drin steht (auch das, was eigentlich erst beim Post in der DB gefüllt würde, abgesehn von BeforeInsertTriggern)

(das Einzige, womit man klarkommen muß, wird dann doch nicht gepostet, sondern verworfen, dann entstehen Lücken)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (26. Apr 2025 um 20:07 Uhr)
  Mit Zitat antworten Zitat