AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken wert kommt falsch in der DB an
Thema durchsuchen
Ansicht
Themen-Optionen

wert kommt falsch in der DB an

Ein Thema von khh · begonnen am 25. Okt 2011 · letzter Beitrag vom 26. Okt 2011
Antwort Antwort
Seite 2 von 3     12 3      
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#11

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 14:02
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
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#12

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 14:04
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 ?
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 14:06
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:
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?
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#14

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 14:22
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:
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
Karl-Heinz

Geändert von mkinzler (25. Okt 2011 um 14:31 Uhr) Grund: Delphi-tags eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#15

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 14:27
Und da ist kein .asfloat oder ähnliches dazwischen?
Ich mißtraue diesen "intelligenten" Lösungen wann immer sie mir über den Weg laufen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#16

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 14:49
Und da ist kein .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
Karl-Heinz

Geändert von khh (25. Okt 2011 um 14:53 Uhr)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#17

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 14:57
Hi,

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...)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#18

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 15:09
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#19

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 15:23
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?
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#20

AW: wert kommt falsch in der DB an

  Alt 25. Okt 2011, 15:47
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
myCurrencyVar:=query1.Fieldbyname('Field1').AsFloat; Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (25. Okt 2011 um 15:50 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 Uhr.
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