[gelöst]Seltsames Problem mit QtSql und Firebird
Verfasst: 21. November 2007 22:51
Ich habe eine kleine Kassenbuch Anwendung geschrieben, nichts besonderes, ein TableView und ein paar mapped LineEdits.
Ich entwickle unter Linux, aber die Zielplattform ist WinXP, soweit alles auch kein Problem.
Für Win kompiliere ich unter Linux mit MinGw.
Die Anwendung läuft auf beiden Plattformen wunderbar, wäre da nicht ein ganz gemeines Problem unter Win.
Und zwar, wenn ich einen Ganzzahligen Wert in das Einnnahme oder
Ausgabe Feld schreibe wird auf die nächst kleinere Dezimalzahl abgerundet, also bei 18 kommt z.B. 17.9999 raus, auch wenn man 18.00 eingibt.
Das Feld in der Datenbank hat den Typ DECIMAL(18,4).
Unter Linux mit der selben Datenbank Datei tritt dieser Fehler nicht auf.
Sehr kurios das ganze.
Ich habe auch geschaut was passiert wenn ich mit IBExpert unter Windows einen Wert eintrage, da tritt der Fehler auch nicht auf,
er tritt also nur unter Windows auf wenn ich ihn über den TableView oder das gemappte LineEdit eintrage.
Wenn man einen "richtigen" dezimalen Wert einträgt kommt der Fehler nicht zum vorschein.
Hat vielleicht jemand eine Ahnung woran das liegen könnte, oder ist vielleicht sogar ein Bugreport an Trolltech notwendig?
An Firebird selber kann es eigentlich nicht liegen da ich mit IBExpert über die selbe Client dll auf die DB zugreife, wo der Fehler ja nicht auftritt.
Gruß,
vileda
EDIT:
*schäm* Ich hätte besser mal vorher im Tracker bei Trolltech gucken sollen: http://trolltech.com/developer/task-tra ... &id=185482
Dann muss ich wohl auf 4.4 warten....
Ich entwickle unter Linux, aber die Zielplattform ist WinXP, soweit alles auch kein Problem.
Für Win kompiliere ich unter Linux mit MinGw.
Die Anwendung läuft auf beiden Plattformen wunderbar, wäre da nicht ein ganz gemeines Problem unter Win.
Und zwar, wenn ich einen Ganzzahligen Wert in das Einnnahme oder
Ausgabe Feld schreibe wird auf die nächst kleinere Dezimalzahl abgerundet, also bei 18 kommt z.B. 17.9999 raus, auch wenn man 18.00 eingibt.
Das Feld in der Datenbank hat den Typ DECIMAL(18,4).
Unter Linux mit der selben Datenbank Datei tritt dieser Fehler nicht auf.
Sehr kurios das ganze.
Ich habe auch geschaut was passiert wenn ich mit IBExpert unter Windows einen Wert eintrage, da tritt der Fehler auch nicht auf,
er tritt also nur unter Windows auf wenn ich ihn über den TableView oder das gemappte LineEdit eintrage.
Wenn man einen "richtigen" dezimalen Wert einträgt kommt der Fehler nicht zum vorschein.
Hat vielleicht jemand eine Ahnung woran das liegen könnte, oder ist vielleicht sogar ein Bugreport an Trolltech notwendig?
An Firebird selber kann es eigentlich nicht liegen da ich mit IBExpert über die selbe Client dll auf die DB zugreife, wo der Fehler ja nicht auftritt.
Gruß,
vileda
EDIT:
*schäm* Ich hätte besser mal vorher im Tracker bei Trolltech gucken sollen: http://trolltech.com/developer/task-tra ... &id=185482
Dann muss ich wohl auf 4.4 warten....