Hallo,
ich spiele gerade mit Delphi 2005 und Interbase 7 herum und versuche ein Boolean-Feld mit den IBX-Komponenten zu ändern/speichern.
SQL: insert into NEW_TABLE (id,BO) values (:ID,:BO)
SQL: update NEW_TABLE set BO = :BO where id = :ID
Ich bekomme aber eine Fehlermeldung wenn ich TRUE abspeichern will.
"arithmetic exception, numeric overflow, or string truncation"
Ich kann den Fehler umgehen, indem ich das Feld mit "IBQuery1.ParamByName('BO').AsInteger:=1;" anstatt "IBQuery1.ParamByName('BO').AsBoolean:=true;" abspeichere.
Wenn ich den Wert auf "IBQuery1.ParamByName('BO').AsBoolean:=false;" setzte funktioniert es.
Ich gehe davon aus, dass es mit der Umwandlung von TRUE in WAHR zu tun hat, weil es auch so in einen DBEdit angezeigt wird.
Ich möchte vor allem auch DBCheckBox benutzten ohne jedesmal eigens abzufragen welchen Wert die Box jetzt hat.
Wie kann ich die DefaultTrueBoolStrs ändern oder kann ich das TBooleanField ändern damit es immer True/False ausgibt?
Vielen Dank
Elmar