Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   wert kommt falsch in der DB an (https://www.delphipraxis.net/164010-wert-kommt-falsch-der-db.html)

Lemmy 25. Okt 2011 14:02

AW: wert kommt falsch in der DB an
 
Zitat:

Zitat von khh (Beitrag 1132453)
Dialekt muss ich erst nachsehen, ich denke aber 3
wenn ich die Werte über IBexpert eintrage funktionierts.
Ein Bug in ZEOS??

dann mach mal ein "Select *" in einer Zeos-Query auf die Tabelle und lass die Felder erzeugen und schau die mal den Datentyp an, den Zeos für diese Spalte verwendet. Ich habe die leider nicht installiert...

GRüße

khh 25. Okt 2011 14:04

AW: wert kommt falsch in der DB an
 
Zitat:

Zitat von Union (Beitrag 1132455)
Die zeigen die Werte so an, wie es in dem jeweiligen Tool programmiert wurde.

Damit wir uns nicht missverstehen:

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 ?

p80286 25. Okt 2011 14:06

AW: wert kommt falsch in der DB an
 
Zitat:

Zitat von khh (Beitrag 1132454)
ich gehe mal davon aus, dass IBexpert und Flamerobin die Werte richtig anzeigen.

jo genau das ist das!
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:
select to_char(myValue,'999999.99') from mytable
Gruß
K-H

Edith:
Zitat:

ich trage einen Wert per "ZEOS-Statement" aus meiner Anwendung in die DB ein,
Wie machst Du das denn? Source?

khh 25. Okt 2011 14:22

AW: wert kommt falsch in der DB an
 
Zitat:

Zitat von p80286 (Beitrag 1132460)
Zitat:

Zitat von khh (Beitrag 1132454)
ich gehe mal davon aus, dass IBexpert und Flamerobin die Werte richtig anzeigen.

jo genau das ist das!
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:
select to_char(myValue,'999999.99') from mytable
Gruß
K-H

Edith:
Zitat:

ich trage einen Wert per "ZEOS-Statement" aus meiner Anwendung in die DB ein,
Wie machst Du das denn? Source?

die function to_char kennt firebird nicht.

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

p80286 25. Okt 2011 14:27

AW: wert kommt falsch in der DB an
 
Und da ist kein
Delphi-Quellcode:
.asfloat
oder ähnliches dazwischen?
Ich mißtraue diesen "intelligenten" Lösungen wann immer sie mir über den Weg laufen.

Gruß
K-H

khh 25. Okt 2011 14:49

AW: wert kommt falsch in der DB an
 
Zitat:

Zitat von p80286 (Beitrag 1132467)
Und da ist kein
Delphi-Quellcode:
.asfloat
oder ähnliches dazwischen?
Ich mißtraue diesen "intelligenten" Lösungen wann immer sie mir über den Weg laufen.

Gruß
K-H

nee da ist höchstens ein asCurrency drunter :-)

was mich daran wundert ist eben, dass nur dieser eine Wert nämlich 1,2 falsch rüber kommt

Lemmy 25. Okt 2011 14:57

AW: wert kommt falsch in der DB an
 
Hi,

Zitat:

Zitat von khh (Beitrag 1132475)
nee da ist höchstens ein asCurrency drunter :-)
was mich daran wundert ist eben, dass nur dieser eine Wert nämlich 1,2 falsch rüber kommt

aber auch nur dann, wenn das Feld wirklich Currency verarbeiten kann. Deshalb nochmal die Bitte die Feldtypen zu prüfen (s. Post ganz oben...)

p80286 25. Okt 2011 15:09

AW: wert kommt falsch in der DB an
 
Zitat:

Zitat von khh (Beitrag 1132475)
nee da ist höchstens ein asCurrency drunter :-)

Eins von wieviel? Laß Dir doch nicht alles aus der Nase Ziehen.

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

khh 25. Okt 2011 15:23

AW: wert kommt falsch in der DB an
 
Zitat:

Zitat von p80286 (Beitrag 1132483)
Zitat:

Zitat von khh (Beitrag 1132475)
nee da ist höchstens ein asCurrency drunter :-)

Eins von wieviel? Laß Dir doch nicht alles aus der Nase Ziehen.

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

wie ich schon oben erwähnte die syntax ist nach diesem schema:

Code:
Query1['feld']:= Fwert;
wobei Fwert von Type Currency ist,
das entsprechende Feld in der DB ist decimal(18,4)

was willst sonst noch wissen?

p80286 25. Okt 2011 15:47

AW: wert kommt falsch in der DB an
 
So mach ich es über ADO (mit ZEOS hab ich wenig am Hut):
Delphi-Quellcode:
query1.sql:='update mytable set field1=:myvalue where id=:myid';
query1.Parambyname('myvalue').value:=myvaluefromanywhere;
query1.Parambyname('myid').value:=myidfromanywhere;
query1.execsql;
und das Lesen
Delphi-Quellcode:
myCurrencyVar:=query1.Fieldbyname('Field1').AsFloat;
Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz