Andreas Kusserow
2003-10-15 14:54:00 UTC
Hallo,
ich habe ein Problem mit Delphi 6 im Zusammenhang mit Oracle 8.1.7 und
den
Zugriff über dbExpress-Komponenten. Ich benutze dabei den standard
dbExpress-Treiber von Borland.
Wenn ich in einem select-Statement ein Feld mit dem Typ Float abfrage,
erhalte ich
die Werte als Integer-Werte ohne Dezimalstelle in einer
TFMTBCDField-Komponente zurück (z.B. wird -11.47 als -1147
zurückgeliefert).
Ich habe schon verschiedene Möglichkeiten ausprobiert, den original Wert
aus der
Datenbank zu erhalten, allerdings ohne Erfolg (z.B. liefern AsCurrency,
AsFloat,
AsInteger und Value sowie AsBCD zusammen mit BCDToDouble immer den
selben Integer-Wert).
Auch die folgenden Select-Statements liefern immer den Wert 12 als
Ergebnis und
in der BCD-Darstellung habe ich auch keine Unterschiede feststellen
können:
a.) select 12 from T_XYZ;
b.) select 1.2 from T_XYZ;
c.) select 0.12 from T_XYZ;
Wie kann ich den original Float-Wert erhalten ? Ist es möglich die
BCD-Darstellung
der Ergebnisse zu deaktivieren ?
Viele Grüße
Andreas Kusserow
ich habe ein Problem mit Delphi 6 im Zusammenhang mit Oracle 8.1.7 und
den
Zugriff über dbExpress-Komponenten. Ich benutze dabei den standard
dbExpress-Treiber von Borland.
Wenn ich in einem select-Statement ein Feld mit dem Typ Float abfrage,
erhalte ich
die Werte als Integer-Werte ohne Dezimalstelle in einer
TFMTBCDField-Komponente zurück (z.B. wird -11.47 als -1147
zurückgeliefert).
Ich habe schon verschiedene Möglichkeiten ausprobiert, den original Wert
aus der
Datenbank zu erhalten, allerdings ohne Erfolg (z.B. liefern AsCurrency,
AsFloat,
AsInteger und Value sowie AsBCD zusammen mit BCDToDouble immer den
selben Integer-Wert).
Auch die folgenden Select-Statements liefern immer den Wert 12 als
Ergebnis und
in der BCD-Darstellung habe ich auch keine Unterschiede feststellen
können:
a.) select 12 from T_XYZ;
b.) select 1.2 from T_XYZ;
c.) select 0.12 from T_XYZ;
Wie kann ich den original Float-Wert erhalten ? Ist es möglich die
BCD-Darstellung
der Ergebnisse zu deaktivieren ?
Viele Grüße
Andreas Kusserow