Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi 'Merken' des Primary Key nach Posten (https://www.delphipraxis.net/62750-merken-des-primary-key-nach-posten.html)

sancho1980 9. Feb 2006 10:20

Re: 'Merken' des Primary Key nach Posten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich werd hier immer noch nicht schlau draus vielleicht wisst ihr ja nochmal weiter:
1.) Wieso ist es nicht möglich, in der Datenbank dictionary auf tabelle synslink die folgenden zwei fremdschlüssel zu erzeugen:

alter table SYNSLINK
add constraint FK_SYNSLINK_1
foreign key (ID_HAUPT)
references DICENTRIES(ID)
on delete SET DEFAULT
on update SET DEFAULT

alter table SYNSLINK
add constraint FK_SYNSLINK_2
foreign key (ID_NEBEN)
references DICENTRIES(ID)
on delete SET DEFAULT
on update SET DEFAULT

Die Fehlermeldung, die mir da IBExpert ausspuckt ist:

violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "INTEG_2" on table "DICENTRIES".

Häh? Wo ist denn das Problem, den Primärschlüssel aus dicentries gleichzeitig als Fremdschlüssel in zwei anderen Tabellen zu verwenden??

2.) Das zweite Problem, das ich hab, hat mit dem Delphi-Client zu tun. In den Zeilen 183, 198, 213 und 228 (form.pas) will ich jedem Nebeneintrag den Verweis auf den entsprechenden Haupteintrag 'einspeichern'. Komischerweise funzt das nicht, obwohl alle anderen Wertzuweisungen funktionieren...HILFE!!!

marabu 9. Feb 2006 12:12

Re: 'Merken' des Primary Key nach Posten
 
Hallo Martin.

(1) Die beiden ALTER Statements werden mit IBConsole auf der von dir angehängten GDB problemlos angenommen.

(2) Mir fällt auf, dass du beim statischen Feld "DataSet_DICENTRIES_IDGEN_ID" die Eigenschaft AutoGenerateValue nicht korrekt gesetzt hast.

marabu

sancho1980 9. Feb 2006 13:05

Re: 'Merken' des Primary Key nach Posten
 
1) Tatsächlich, wenn ich die Statements direkt im SQL-Editor abfeuere klappts, komisch...

2) Eigentlich nutz ich DataSet_DICENTRIES_ID nur um den zuletzt erzeugten ID zu bekommen. Für das Einfügen von Datensätzen sind DataSet_Haupt bzw. DataSet_Neben zuständig und da hab ich die ID-Generierung über Einstellung der jeweiligen GeneratorField-Eigenschaften gemacht. Wozu ist dann dieser AutoGenerate (von dem du redest) gut? Doppelt gemoppelt?

3) Mir ist immer noch unklar, warum die Wertzuweisung "self.DataSet_NebenASVERW.Value := haupt_id;" in den vier genannte Zeilen nicht klappt...

Danke!
Martin

sancho1980 9. Feb 2006 13:30

Re: 'Merken' des Primary Key nach Posten
 
zu 3. Asche auf mein Haupt. Das Insert-SQL-Statement von DataSet_Neben hatte ASVERW nicht drin

Die andere Frage steht. Würde mir das mal einer erklären, warum ich soviele Möglichkeiten habe, die ID-Generierung zu konfigurieren und wo da die Unterschiede liegen??
Grüßchen
Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:28 Uhr.
Seite 2 von 2     12   

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