Einzelnen Beitrag anzeigen

Benutzerbild von runningsoft
runningsoft

Registriert seit: 8. Okt 2004
Ort: Bernau
108 Beiträge
 
Delphi 10.4 Sydney
 
#1

Firebird - Fehler bei Datentyp "Decimal"

  Alt 17. Mär 2010, 10:59
Datenbank: Firebird embedded • Version: 1.5 • Zugriff über: ZEOS
Hallo,

ich will in einer DB u.a. Preise speichern.

Lege ich das entsprechende Datenfeld mit
PORTO DECIMAL(9,2) an, bekomme ich beim Auslesen der Daten mittels

PortoFee := ZQuery1.FieldByName('Porto').AsFloat; eine Fehlermeldung, dass der Wert des Feldes "Porto" außerhalb des zulässigen Bereiches liegt. In der Datenbank selbst ist z.B. der Wert 23,8 (für 23,80 €) gespeichert.

Habe ich das Feld mit
 PORTO Float angelegt, bekomme ich beim Zugriff auf die Daten zwar keine Fehlermeldung, aber Werte wie z.B. 23,80 werden in der Datenbank intern als 23,7999992370605 abgespeichert.

Was mache ich beim anlegen des Feldes als "Decimal" falsch? oder kann man Decimal-Felder nicht mit .AsFloat aus der DB auslesen?

Vielen Dank

Steffen
Steffen
  Mit Zitat antworten Zitat