![]() |
Datenbank: Firebird • Zugriff über: FIBPlus [Trial]
Master-Detail-Beziehungen und Master existiert noch nicht
Mal eben ein kleines Problemchen...
Habe eine Art Adressverwaltung (Standarddaten wie Strasse, Hausnummer, PLZ, Tel, etc.) und zusätzlich eine Übersicht über weitere Mitarbeiter in dieser Adresse. In Delphi wurde das ganze dann über deine Master (die Adresse) - Detail (die Angestellten) - Beziehung visualisiert. Mein Problem ist nun, wenn ich eine neue Adresse einfüge (DataSet.Insert) so existiert dieser Datensetz erstmal nur virtuell (bis zum DataSet.Post), hat also noch keinen Primärschlüssel. Genau den brauch man aber, wenn man beim ersten Bearbeiten schon Angestellte einfügen will, da in der Angestellten-Tabelle eben jener Schlüssel als ForeignKey benötigt wird....? Ideen? Danke! |
Re: Master-Detail-Beziehungen und Master existiert noch nich
Wie setzt du den PK?
Welche Firebirdversion? |
Re: Master-Detail-Beziehungen und Master existiert noch nich
Firebird 1.5
Theoretisch müsste ich den PK doch irgendwo im Adress-DataSet setzen, oder??? Genaugenommen habe ich ihn explizit nirgendwo gesetzt.... |
Re: Master-Detail-Beziehungen und Master existiert noch nich
Am besten setzt man ihn per Trigger über einen Generator. AB Fb2 kann man sich ihn im Insert zurückgebenlassen.
|
Re: Master-Detail-Beziehungen und Master existiert noch nich
Kann man in FB 1.5 glaube ich auch schon.
SQL-Code:
Mein Problem liegt eher darin:
INSERT INTO tabelle (id, ..., ...) VALUES (gen_id(tabelle_gen,1), ..., ...)
1) - der Nutzer möchte eine neue Adresse anlegen (Formular erscheint) - er tippt einige Angestellte der neuen Adresse ein (zu diesem Zeitpunkt ist noch nichtmal sicher, ob der User diese Adresse überhaupt speichern möchte), welche natürlich erst endgültig gespeichert werden sollen, wenn die Adresse auch gespeichert wird 2) - Gesetz dem Fall die Adresse (inkl. PK) existiert schon, wie mache ich dem Detail-DataSet beim Einfügen klar, woher er den Adressen-PK bekommt? |
Re: Master-Detail-Beziehungen und Master existiert noch nich
Zitat:
SQL-Code:
Auf id kannst du dann per Parameter zugreifen:
INSERT INTO tabelle (id, ..., ...) VALUES (gen_id(tabelle_gen,1), ..., ...) RETURNING id;
Delphi-Quellcode:
... := Query.ParamByName('id').Value;
|
Re: Master-Detail-Beziehungen und Master existiert noch nich
Zitat:
Trotzdem erstmal Danke.... Inwieweit ist FB2.0 eigentlich schon stabil und vorallem wiue kompatibel sind Anwendungen die man von FB1.5 nach FB2.0 portiert??? |
Re: Master-Detail-Beziehungen und Master existiert noch nich
|
Re: Master-Detail-Beziehungen und Master existiert noch nich
Die aktuelle stabile Version ist 2.01 und 2.1 steht vor der Tür. Anwendungen, die sich an die Vorgaben von FB halten funktionieren problemlos. In manchen Fällen verhält sich FB 2 aber nicht so gutmütig, d.h. nicht konforme Konstrukte die unter FB.x funktioniert haben, werden dann abgewiesen.
|
Re: Master-Detail-Beziehungen und Master existiert noch nich
Liste der Anhänge anzeigen (Anzahl: 1)
noch was, da du mit FibPlus arbeitest, schau dir doch mal
im FibDataSet die Propertys die du unter AutoUpdateOptions findest an. Dort findest du was du suchts. alex |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 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 by Thomas Breitkreuz