Hallo
Nach all dem Generve mit IBX/IB6 und der Sichtbarkeit von Feldwerten in Abhängigkeit dazu, wo diese generiert wurden, bin ich dazu übergegangen, alle Felder applikationsseitig in der AfterInsert-Routine mit benötigten Werten zu belegen. Nicht schön, aber funktionierte. Bis jetzt. Nun taucht wie aus dem Nichts folgendes Problem auf:
Gegeben sei eine Tabelle mit den Feldern ID( =PK ), A, B, und C. Nach einem Insert werden die Felder über Editset.FieldByname('..').AsXXX belegt. Nach Post finde ich in der DB den erzeugten Datensatz auch wieder ( kontrolliert über IBConsole ). Leider enthält das Feld A nicht den von mir vorgegeben Wert, sondern ist NULL. Die anderen Felder enthalten die erwarteten Werte. Meine Applikation erzeugt keine Exception, die gesetzten Werte sind über FieldbyName auch lesbar ( auch A ) usw. A dient in der SelectSQL-Anweisung als Referenz auf eine Mastertabelle.
Recht betrüblich zu erfahren, dass IBX offensichtlich nach seinem Gusto entscheidet, welcher Wert denn nun tatsächlich in der DB abgelegt werden soll.
Verpasse ich der Spalte A in der DB ein Constraint not NULL, so erzeugt meine Applikation wie erwartet eine Exception.
Ich verwende z.Zt. IBX 4.42
Wer weiss Rat ??
P.S.: Dieses Problem taucht mit unterschiedlichen Feldern auf. Es kann ausgeschlossen werden, dass es in meiner Applikation 'deinitialisiert' wird.
Gruß Gesine
Nach all dem Generve mit IBX/IB6 und der Sichtbarkeit von Feldwerten in Abhängigkeit dazu, wo diese generiert wurden, bin ich dazu übergegangen, alle Felder applikationsseitig in der AfterInsert-Routine mit benötigten Werten zu belegen. Nicht schön, aber funktionierte. Bis jetzt. Nun taucht wie aus dem Nichts folgendes Problem auf:
Gegeben sei eine Tabelle mit den Feldern ID( =PK ), A, B, und C. Nach einem Insert werden die Felder über Editset.FieldByname('..').AsXXX belegt. Nach Post finde ich in der DB den erzeugten Datensatz auch wieder ( kontrolliert über IBConsole ). Leider enthält das Feld A nicht den von mir vorgegeben Wert, sondern ist NULL. Die anderen Felder enthalten die erwarteten Werte. Meine Applikation erzeugt keine Exception, die gesetzten Werte sind über FieldbyName auch lesbar ( auch A ) usw. A dient in der SelectSQL-Anweisung als Referenz auf eine Mastertabelle.
Recht betrüblich zu erfahren, dass IBX offensichtlich nach seinem Gusto entscheidet, welcher Wert denn nun tatsächlich in der DB abgelegt werden soll.
Verpasse ich der Spalte A in der DB ein Constraint not NULL, so erzeugt meine Applikation wie erwartet eine Exception.
Ich verwende z.Zt. IBX 4.42
Wer weiss Rat ??
P.S.: Dieses Problem taucht mit unterschiedlichen Feldern auf. Es kann ausgeschlossen werden, dass es in meiner Applikation 'deinitialisiert' wird.
Gruß Gesine
Comment