![]() |
Datenbank: Firenird • Version: 2.1 • Zugriff über: UniDac
Firebird und AutoInc
Hallo,
ich verwende in meiner Anwendung ein AutoInc Feld, welches über einen Firebird Trigger gefüllt wird. Jetzt habe ich das Problem, dass beim Dataset.Insert das AutoInc ID DBEdit Feld nicht leer sein darf (klar, wg. PK). Ich brauche dieses ID Feld zum referenzieren weiterer Datensätze. Soll ich da einen weiteren Trigger und ein weiteres DB Feld anlegen und das als PK nutzen? Viele Grüße ... |
AW: Firebird und AutoInc
Warum hast Du denn bei einem AutoInc-Feld ein DBEdit?? Das wird doch automatisch durch den Trigger "BeforeInsert" befüllt und ist somit "automatisch" nicht leer?!?!?! Bei mir funktioniert das nämlich ohne Probleme....
[Edit] Ich befülle meine Tabelle allerdings durch ein SQL-Statement. Vielleicht zeigt FireBird hier auch ein anderes Verhalten... [/edit] |
AW: Firebird und AutoInc
Hi,
weil ich das erst (hidden) nutzen wollte, um darauf Zugriff zu haben. War nicht schlau, deshalb suche ich jetzt einen anderen Weg an die ID des Datensatzes zu kommen :roll: Viele Grüße .... // Edit: Eigentlich brauche ich das Ereignis, an dem ich den jeweils aktiven Datensatz (bzw. seine ID) im Dataset lesen kann |
AW: Firebird und AutoInc
Hallo Grolle,
wenn Du einen Trigger einsetzt, kannst Du doch die ID mit einem Generator erstellen. Bis bald Chemiker |
AW: Firebird und AutoInc
Hallo,
ich brauch die generierte ID aber dann auch im Programm. Der Trigger/Generator funktioniert ja. Viele Grüße ... |
AW: Firebird und AutoInc
Zitat:
|
AW: Firebird und AutoInc
Hi,
ich brauche die ID, wenn der Datensatzzeiger sich im Dataset(Query/Datasource) bewegt. In dem Moment, wenn die Edits auch die Daten bekommen. Die ReturningId ist ja der zuletzt eingefügte Datensatz. Viele Grüße ... |
AW: Firebird und AutoInc
Welche Dataset-Komponenten setzt Du ein?
|
AW: Firebird und AutoInc
Hi,
Unidac - UniQuery. Viele Grüße .... |
AW: Firebird und AutoInc
Hast Du eine statische Feldliste in der Query verwendet?
Wenn ja, setzt mal für das ID-Feld die Option Required auf false. Wenn Du sie nicht verwendet hast, erstelle diese mal und setze dann diese Option für das ID-Feld. Andere Möglichkeit, die wir ab und zu verwenden ist es den Generator in einer zweiten Query laufen zu lassen (SELECT GEN_ID( GEN_NAME,1 ) FROM RDB$DATABASE). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 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