Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   EDBClient Keinen zugehörigen Hauptdatensatz gefunden (https://www.delphipraxis.net/159092-edbclient-keinen-zugehoerigen-hauptdatensatz-gefunden.html)

Rainer Wolff 14. Mär 2011 12:23

Datenbank: Firebird • Version: 2.0.6 • Zugriff über: dbx, ibx

EDBClient Keinen zugehörigen Hauptdatensatz gefunden
 
Hallo,

ich habe eine Master-Slave-Tabellenkombination mit Clientdatasets. Wenn ich im Slave einen neuen Datensatz eintrage, erhalte ich obige Fehlermeldung.
Ein Zusammenhang besteht wohl damit, dass ich in beiden Tabellen den selben Spaltennamen (Id) für den Primärschlüssel verwende. Sobald ich im Slave einen anderen Spaltennamen verwende, ist das Problem beseitigt.
Da der entsprechende Quellcode, den ich jetzt ändern muss, schon bei mehreren Projekten bei verschiedenen Kunden im Einsatz ist, ist es aber blöd (wenn auch nicht unmöglich und wohl am sinnvollsten), nachträglich noch die Tabellenstruktur umzustellen.
Es wundert mich aber, dass ich zu der Fehlermeldung absolut keinen Treffer bei der Google-Suche erhalte. Und genauso wundert es mich, warum ich mit Delphi XE, auf englische Sprache eingestellt, immer noch die deutsche Fehlermeldung erhalte (eine andere, testweise Exception, kommt aber auf Englisch). Sonst könnte ich ja zumindest mit der englischen Meldung weitergoogeln.
Ich weiss nicht, ob ein Zusammenspiel mit verschiedenen Delphi-Versionen, die ich auf dem Rechner habe, Schwierigkeiten macht, oder was sonst los ist.

Der Fehler tritt sowohl bei den IBX-Komponenten als auch bei den dbx-Komponenten auf.

Gruß Rainer

shmia 14. Mär 2011 13:42

AW: EDBClient Keinen zugehörigen Hauptdatensatz gefunden
 
Du kannst innerhalb einer Query Felder mit "AS" umbenennen:
SQL-Code:
SELECT MasterTable.IdKey AS MasterKey, DetailTable.IdKey AS DestailKey,...
Möglich, dass man so die Namenskollision umgehen kann.

Rainer Wolff 14. Mär 2011 15:23

AW: EDBClient Keinen zugehörigen Hauptdatensatz gefunden
 
select ID as slaveid ...

Datensatz in Grid einfügen:

Im Projekt ist eine Exception der Klasse TDBXError mit der Meldung 'Column unknown
SLAVEID
At line 1, column 8' aufgetreten.


das wars wohl noch nicht


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 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