Zitat von
Albi:
Gib es denn eine Möglichkeit, eine Excepion der
DB an den Client zu senden?
Üblicherweise werden Fehlermeldungen vom Datenbanktreiber auf der untersten Ebene über Returncodes zurückgegeben.
Die Kapselung, die die
VCL um die Treiber legt, übersetzt diese Returncode in Exceptions.
Du als Anwender der Datenbank-Komponenten brauchst dich darum eigentlich gar nicht zu kümmern.
(Es sei denn, die Komponenten arbeiten nicht "Delphi-like")
Zitat von
Albi:
Ich habe in meiner
DB das Feld PlzOrtID, wenn ich direkt auf der
DB arbeite und die Felder einfüge und das Feld PlzOrtID keinen Wert enthält bekomme ich ne Meldung. Wenn ich jedoch die Felder aus dem Client heraus ausfülle und ich lasse dort die Eingabe für die PlzOrtID weg, dann wird in der
DB das Feld Feld einfach "NULL" eingetragen und das sollte doch eigentlich nicht sein.
Das darf eigentlich überhaupt nicht passieren !!
Zum Test, dass du keinem Irrtum unterliegt probiere Folgendes:
Erzeuge mit deiner Anwendung einen Datensatz, der im Feld PlzOrtID den NULL-Wert enthält.
Gehe direkt auf die Datenbank (mit IBconsole, oder ?) und ändere ein anderes Feld (z.B. Ortsname)
und bestätige die Änderungen. Nun sollte die Fehlermeldung betreffend PlzOrtID kommen.
Ein Stringfeld kann einen leeren String enthalten oder es kann den Inhalt 'Null' enthalten,
das ist aber nicht das gleiche wie der echte NULL-Wert.
Also versuche auch mal mit IBConsole den Inhalt "NULL" zu editieren, sollte das gelingen, handelt
es sich einfach um einen String, der zufällig den Inhalt "NULL", aber nicht um den echten NULL-Wert.
Versuche auf jeden Fall die neuesten Treiber sowie evtl. ein Update für
IB aus dem Internet zu ziehen.