Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TFDBatchMove mit AutoInc (https://www.delphipraxis.net/212113-tfdbatchmove-mit-autoinc.html)

Olli73 23. Dez 2022 14:12

AW: TFDBatchMove mit AutoInc
 
TFDBatchMoveSQLWriter.FDDataSet.UpdateOptions.Chec kRequired ?

TurboMagic 23. Dez 2022 14:15

AW: TFDBatchMove mit AutoInc
 
Noch ein anderes Problem mit dem Ansatz:
wenn ich mal eines Tages diesen Datensatz tatsächlich kopiert bekomme, hat ja der Generator für den
primary key in dieser Tabelle dem neuen Satz einen neuen Wert generiert.

Nur wie bekomme ich den zurückgeliefert?
Ja, ich könnte einfach mittels select nach dem höchsten Datensatz fragen, aber wenn dann mal später
evtl. mehrere Leute auf die selbe DB zugreifen wird's schnell haarig...

TurboMagic 23. Dez 2022 14:17

AW: TFDBatchMove mit AutoInc
 
Zitat:

Zitat von Olli73 (Beitrag 1516630)
TFDBatchMoveSQLWriter.FDDataSet.UpdateOptions.Chec kRequired ?

Hallo,

eben erst gesehen, gleich getestet, gleich enttäuscht worden. :-(
Sorry!

Grüße

TurboMagic

Olli73 23. Dez 2022 14:22

AW: TFDBatchMove mit AutoInc
 
Dann musst du wohl mittels TBatchMove.OnWriteValue die Nulls zu Defaulftwert machen...

Aber bei TFDQuery klappt das mit chekRequired bei mir super. Bei mir war das Problem aber auch nicht ein Defaultwert, sondern die Vergabe der ID durch die DB.

TurboMagic 23. Dez 2022 14:47

AW: TFDBatchMove mit AutoInc
 
Hallo,

oh ich... ;-)
Ich bin einen Schritt weiter: ich hatte ja schon ein Event im Writer in dem ich für bestimmte Spalten
Werte vor dem Schreiben ändern bzw. setzen wollte. Auch für die Spalte die jetzt immer Ärger gemacht hatte.
Nur: dazu muss diese Spalte natürlich beim Reader im Select drin stehen! :oops: :wall:

Also zumindest für die Tabelle komme ich damit schon mal weiter.

Grüße
TurboMagic

Uwe Raabe 23. Dez 2022 16:29

AW: TFDBatchMove mit AutoInc
 
Die Connection muss den Parameter ExtendedMetaData auf True setzen, damit FireDAC den Default-Wert erkennt.

TurboMagic 23. Dez 2022 16:38

AW: TFDBatchMove mit AutoInc
 
Danke für den Hinweis!

TurboMagic 23. Dez 2022 17:16

AW: TFDBatchMove mit AutoInc
 
Tja, nur knallt es mit ExtendedMetadata jetzt woanders.
Da will ich per FieldByName(..).AsInteger den Wert einer als Smallint definrten Spalte
abrufen und bekomme eine Exception geworfen, dass er diese Spalte nicht als Integer abrufen kann.
Aber Smallint passt doch da rein und .AsSmallInt gibt's ja nicht...

Was nun?

himitsu 23. Dez 2022 17:24

AW: TFDBatchMove mit AutoInc
 
Das .AsXyz ist dem egal.

Ihm geht es um den Typ des Feldes,
also TSmallintField statt TIntegerField. :zwinker:

Hast du die Felder selbst erstellt, oder lässt du Sie erstellen?

TurboMagic 23. Dez 2022 17:30

AW: TFDBatchMove mit AutoInc
 
Ich hab' nix selbst erstellt. Einfach eine FDQuery und der einen select als SQL gesetzt...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz