AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird 3 Rückgabe ID nach Insert durch internen Sequenz Generator
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird 3 Rückgabe ID nach Insert durch internen Sequenz Generator

Ein Thema von BerndS · begonnen am 21. Jul 2022 · letzter Beitrag vom 21. Jul 2022
Antwort Antwort
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#1

Firebird 3 Rückgabe ID nach Insert durch internen Sequenz Generator

  Alt 21. Jul 2022, 07:07
Datenbank: FIREBIRD • Version: 3 • Zugriff über: Fibplus
Hallo, mit IBExperts habe ich eine neue Firebird 3 Datenbank Sql Dialekt 3 angelegt. Dabei die Möglichkeit getestet, den internen Sequenzgenerator zum Erzeugen der ID zu verwenden. Daurch erspare ich das Anlegen eines Triggers oder das Erzeugen einer neuen ID aus den Programm heraus.

Nun suche ich nach einer Möglichkeit, die ID nach einem Insert direkt zurück zu bekommen.
Zurzeit mache ich das mit Select Max(...), was aber eine zusätzliche Abfrage erfordert.

Möglicherweise kann das ja FireDAC.
Bernd
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#2

AW: Firebird 3 Rückgabe ID nach Insert durch internen Sequenz Generator

  Alt 21. Jul 2022, 07:41
Hallöle...

...wie wäre es mit returning <Feldname> ?

https://firebirdsql.org/refdocs/lang...21-insert.html
Delphi-Quellcode:
Variable := Query.FieldByName('RET_<Feldname>').AsInteger
...


Geändert von haentschman (21. Jul 2022 um 07:48 Uhr)
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Firebird 3 Rückgabe ID nach Insert durch internen Sequenz Generator

  Alt 21. Jul 2022, 08:02
Hallo haentschman
Danke, das funtioniert wunderbar .
Returnig habe ich bisher noch nie verwendet. Werde ich mir merken.
Bernd
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#4

AW: Firebird 3 Rückgabe ID nach Insert durch internen Sequenz Generator

  Alt 21. Jul 2022, 09:05
Möglicherweise kann das ja FireDAC.
Steht zumindest so in der Doku: Auto-Incremental Fields (FireDAC)
Zitat:
Firebird 3.0: GENERATED BY DEFAULT AS IDENTITY
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Firebird 3 Rückgabe ID nach Insert durch internen Sequenz Generator

  Alt 21. Jul 2022, 09:46
Wenn mal Zeit ist, sollt mal von FIBPlus auf FirDAC umgesellt werden. Aber dass ist nicht an einem Tag gemacht.

Was das Returning betrifft hat das TpFIBDataSet noch einen BUG in AutoGenerateSQLText, da hier AutoUpdateOptions.UseReturningFields nicht berücksichtigt wurde.
Das konnte ich aber noch korrigieren, so dass hier nach dem Post die ID im Grid angezeigt wird.
Bernd
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr.
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