![]() |
Datenbank: Firebird • Version: 3.0 • Zugriff über: FIREDAC
FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
Hallo Zusammen,
ich benötige von einer fdQuery bei onBeforePost den Generator Wert des PKs. Bei onBeforePost ist der Wert immer -1, -2, -3 bei jedem Insert. Eingestellt haben ich in der fdQuery: UpdateOptions.AssignedValues = [uvFetchGeneratorsPoint,uvGeneratorName] UpdateOptions.AutoIncFields = bankdatenschulungenid UpdateOptions.FetchGeneratorsPoint = gpImmediate UpdateOptions.GeneratorName = gen_bankdatenschulungen_id UpdateOptions.KeyFields = bankdatenschulungenid Hat jemand eine Idee was ich übersehe? Gruß Kostas |
AW: FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
Und bankdatenschulungenid ist auch vom Typ
Delphi-Quellcode:
?
TFDAutoIncField
|
AW: FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
Und falls ja, wie ist
Delphi-Quellcode:
eingestellt?
ClientAutoIncrement
|
AW: FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
Hallo Uwe,
ich hatte der Query die Felder im Feld-Editor NICHT angelegt da ich sie nicht benötige. Habe ich gerade nachgeholt zum testen. Das Feld wird als TFDAutoIncField erkannt. Dennoch wird -1 bei onBeforePost zurückgegeben. Nach dem Post wird das Feld aktualisiert und bekommt den richtigen Wert. |
AW: FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
ClientAutoIncrement ist auf true gesetzt.
|
AW: FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
Mir ist noch etwas aufgefallen:
Ich arbeite wie gesagt ohne die Feldobjekte. Zum testen habe ich bei AfterIinsert den Wert 1000 übergeben. Bei OnBeforePost habe ich die 1000. Nach dem Post wird die 1000 durch den Generatorwert überschrieben über den Trigger in der DB. Das bedeutet, die Query senden den vorbelegten PK nicht zur DB.
Delphi-Quellcode:
procedure Tfr1.qrBankdatenSchulungAfterInsert(DataSet: TDataSet);
begin qrBankdatenSchulung.FieldByName('BANKDATENSCHULUNGENID').AsInteger := 1000; end;
Delphi-Quellcode:
CREATE OR ALTER trigger bankdatenschulungen_bi for bankdatenschulungen
active before insert position 0 as begin if (new.bankdatenschulungenid is null) then new.bankdatenschulungenid = gen_id(gen_bankdatenschulungen_id,1); end |
AW: FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
Zitat:
Deswegen heiß das BeforePost...:zwinker: |
AW: FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
Zitat:
|
AW: FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
Zitat:
|
AW: FireDac den AutoInc value in onBeforePost abfragen. (ist immer -x)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 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