![]() |
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
wert kommt falsch in der DB an
hallo zusammen,
folgendes Phänomen: ich übergebe an die DB per sql-statement einen currency-wert. Das Feld in der DB ist decimal(18,4) so weit so gut 0,2 in der db steht 0,2000 2,2 in der db steht 2,2000 1,3 in der db steht 1,3000 1,2 in der DB steht 1,1999 kann das jemand nachvollziehen, oder erklären? Danke für eure Mühe Gruss KHH |
AW: wert kommt falsch in der DB an
|
AW: wert kommt falsch in der DB an
Castest denn Du die Anzeigewerte auch als Decimal?
|
AW: wert kommt falsch in der DB an
Zitat:
alle anderen Dezimalwerte werden richtig in die Db eingetragen |
AW: wert kommt falsch in der DB an
Zitat:
der Wert 1,2 wird als 1,1999 in die Datenbank eingetragen, alle andern Werte 0,2 1,3 usw. stehen richtig drin. |
AW: wert kommt falsch in der DB an
Hallo,
welchen Dialect hat die FB-DB? Wie hast du die Werte eingetragen? Nur per Programm oder auch mal per IBExport, FlameRobin,....? |
AW: wert kommt falsch in der DB an
Zitat:
|
AW: wert kommt falsch in der DB an
Zitat:
wenn ich die Werte über IBexpert eintrage funktionierts. Ein Bug in ZEOS?? |
AW: wert kommt falsch in der DB an
Zitat:
|
AW: wert kommt falsch in der DB an
Die zeigen die Werte so an, wie es in dem jeweiligen Tool programmiert wurde.
|
AW: wert kommt falsch in der DB an
Zitat:
GRüße |
AW: wert kommt falsch in der DB an
Zitat:
ich trage einen Wert per "ZEOS-Statement" aus meiner Anwendung in die DB ein, aus 1,3 wird 1,3000 wenn ich den Wert mit IBexpert anschaue. aus 0,2 wird 0,2000 dito aus 1,2 wird 1,1999 dito wo liegt der Fehler ? |
AW: wert kommt falsch in der DB an
Zitat:
Es handelt sich um eine Anzeige! Und je mehr Schnittstellen sich zwischen DB und Clientanzeige befinden, desto mehr wird das zum Glücksspiel. Was ist denn, wenn Du Dir die Daten gleich so abholst:
SQL-Code:
Gruß
select to_char(myValue,'999999.99') from mytable
K-H Edith: Zitat:
|
AW: wert kommt falsch in der DB an
Zitat:
das Statment funktioniert nach folgendem Schema
Delphi-Quellcode:
Query1.SQL.add('select ......');
Query1.open; Query1.append;
Delphi-Quellcode:
Query1['feld']:= Fwert;
Query1['feld2']:= Fwert2; usw. usw. query1.post |
AW: wert kommt falsch in der DB an
Und da ist kein
Delphi-Quellcode:
oder ähnliches dazwischen?
.asfloat
Ich mißtraue diesen "intelligenten" Lösungen wann immer sie mir über den Weg laufen. Gruß K-H |
AW: wert kommt falsch in der DB an
Zitat:
was mich daran wundert ist eben, dass nur dieser eine Wert nämlich 1,2 falsch rüber kommt |
AW: wert kommt falsch in der DB an
Hi,
Zitat:
|
AW: wert kommt falsch in der DB an
Zitat:
Und um das noch einmal zu betonen: Was Du (und die meisten von uns) siehst, ist nur die Darstellung von Daten, das sind nicht die Daten selber! Und an Darstellung kann man drehen. Gruß K-H |
AW: wert kommt falsch in der DB an
Zitat:
Code:
wobei Fwert von Type Currency ist,
Query1['feld']:= Fwert;
das entsprechende Feld in der DB ist decimal(18,4) was willst sonst noch wissen? |
AW: wert kommt falsch in der DB an
So mach ich es über ADO (mit ZEOS hab ich wenig am Hut):
Delphi-Quellcode:
und das Lesen
query1.sql:='update mytable set field1=:myvalue where id=:myid';
query1.Parambyname('myvalue').value:=myvaluefromanywhere; query1.Parambyname('myid').value:=myidfromanywhere; query1.execsql;
Delphi-Quellcode:
Gruß
myCurrencyVar:=query1.Fieldbyname('Field1').AsFloat;
K-H |
AW: wert kommt falsch in der DB an
kann hier jemand der ZEOS nutzt den Fehler mal nachvollziehen?
|
AW: wert kommt falsch in der DB an
Hallo,
ZEOS hatte ich damals "abgewählt" aus diversen Gründen. Was passiert, wenn du statt Decimal einfach Double Precision nimmst ? Heiko |
AW: wert kommt falsch in der DB an
Zitat:
Danke dir für den Tipp. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz