Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid: 1E-5 statt 0,00002 (https://www.delphipraxis.net/203022-dbgrid-1e-5-statt-0-00002-a.html)

NicoleWagner 4. Jan 2020 14:56

Datenbank: Firebird • Version: 2 • Zugriff über: FireDAC

DBGrid: 1E-5 statt 0,00002
 
Hallo Leute,

ich habe uralten Code, in dem etwas nicht stimmt. :pale:
Bin richtig raus, wie damals alles ging.

Doch der Reihe nach:
Ich habe eine Firebird-2-Tabelle, die ich mit FireDAC in Delphi XE3 einbette.
Eine ADQuery bzw. ein TDataSource verbindet ein DBGrid mit der DB-Abfrage.
So weit, so fein.

In diesem DBGRid hatte jetzt ein Feld den Wert 0,0001.
Aus gegebenem Anlass veränderte ich es auf 0,00002
Wer nicht zählen will: Im ersten Wert sind 4 Nachkommastellen, im zweiten Wert 5.
Mit einer alternativen Ansicht (FlameRobin) stellte ich fest, dass in der FB-Datenbank der Wert 0,00002 korrekt eingetragen ist. Er ist vom Typ Double Precision. Wie genau der in das DBGrid kommt, das weiß ich leider nicht mehr, uralter Code.
Vermutlich alles als default setting: Also ins neue DBGrid die Query eintragen und die Query auf "active" und die Werte sind da.

NUR - jetzt kommt das Problem: in meinem DBGrid steht jetzt "1E-5", dort wo vorher "0,0001" stand.
Was kann ich tun, dass dort "0,00002" angezeigt wird?

Danke allen, die sich auf die komplizierte Beschreibung eingelassen haben und noch mehr jenen, die mir raten können!

Nicole

Uwe Raabe 4. Jan 2020 15:15

AW: DBGrid: 1E-5 statt 0,00002
 
Gibt es für das entsprechende Feld eine statische Feld-Komponente?

NicoleWagner 4. Jan 2020 15:36

AW: DBGrid: 1E-5 statt 0,00002
 
In grauer Vorzeit hatte ich irgendwo Felder konfiguriert. In diesem DBGrid oder in einem der vielen anderen?
Da gab es wo "fields" und dort trug ich etwas ein. Doch wo?
Ich klickte wohl eine halbe Stunde durch, doch fand nichts. Da sind leider hunderte Parameter und Menüs.
Jedenfalls: Weder im Query- noch im Spalteneditor ist etwas eingetragen.

Wenn ich ein neues DBGrid anlege und damit die Query verbinde, steht dort jedenfalls ebenfalls der Fehlerwert oder die altenative Zahlenschreibweise statt meines 5-Nachkommastellenwerts.

Was eine "statische Feld-Komponente" ist, *erröt*, weiß ich nicht mehr.


Nicole

stifflersmom 4. Jan 2020 15:39

AW: DBGrid: 1E-5 statt 0,00002
 
Hast Du schon mal eien Doppelklick auf Deine Query- bzw. Tablekomponente gemacht?
Da würdest Du dann Feldformatierungen finden können.
Alternativ könntest Du auch das Formular in der Textansicht nach Deiner Formatierung durchforsten.

NicoleWagner 4. Jan 2020 18:37

AW: DBGrid: 1E-5 statt 0,00002
 
Leider nein, alles negativ.
Weder im Formular als Textansicht ist es konfiguriert noch Doppelklicks auf ADQuery oder DataSource oder DBGrid zeigen eine Einstellung.

Ich bin nicht mal sicher, ob die Einstellung ein Formatierungsproblem ist.
Schon die Ausgabe kann ja zweierlei sein: Entweder eine Fehlermeldung (sie steht so in keiner Tabelle!) oder aber die Anzeige "5" für 5 Nachkommastellen.

Das Problem kann also sein die Formatierung der Dezimalzahl oder aber ein Typumwandlung die nur 4 Stellen erlauben würde.
Allerdings welche wäre es? Double sollte das umfassen und die DBGrid genau die Query ausgeben.
Ich postete ja hier, weil ich mit meiner Weisheit am Ende bin.

Oder es wären nur 4 Stellen erlaubt, weil die Spalten zu schmal würden. Wo aber wären die so eng eingestellt? Es bleibt mir ein Rätsel.

und Hinweis: Da ist keine Tablekomponente. Ich verbinde TADQuery mit DataSource bzw. TDBGrid. Also keine TDBTable.

jobo 4. Jan 2020 19:04

AW: DBGrid: 1E-5 statt 0,00002
 
Du könntest mal aus Spaß andere Werte eintragen, z.B.
Null
1
2
-1
0.1
0.02
0.003
0.0004

Und schauen, was es mit dem E auf sich hat. (Ein Fehler ist es wohl nicht, außer jemand hat sich viel Mühe gegeben und einen Konvertierungsfehler in der Form zur Anzeige gebracht)

blawen 4. Jan 2020 21:39

AW: DBGrid: 1E-5 statt 0,00002
 
Zitat:

Zitat von NicoleWagner (Beitrag 1454423)
NUR - jetzt kommt das Problem: in meinem DBGrid steht jetzt "1E-5", dort wo vorher "0,0001" stand.

Bist Du sicher, dass nicht eine "0" fehlt? -> 0.0001 vs. 0.00001

"1E-5" erinnert mich irgendwie an "Enter Exponent" -> (1 * 10^-5)

Uwe Raabe 4. Jan 2020 22:05

AW: DBGrid: 1E-5 statt 0,00002
 
Zitat:

Zitat von NicoleWagner (Beitrag 1454431)
Ich postete ja hier, weil ich mit meiner Weisheit am Ende bin.

Kannst du ein minimales Beispielprojekt mitsamt SQL zum Erzeugen der Datenbank hier anhängen?

Eventuell kommst du beim Aufsetzen eines solchen Projekts ja selbst auf die Ursache.

hstreicher 5. Jan 2020 07:52

AW: DBGrid: 1E-5 statt 0,00002
 
Wie ist das Feld in der Datenbank definiert ? evtl begrenzt das ja die Nachkommastellen die abgespeichert werden

mfg Hannes

stifflersmom 5. Jan 2020 14:44

AW: DBGrid: 1E-5 statt 0,00002
 
Vielleicht eine vergessene(s) "drittparty" Komponente/Tool...
Ich glaube bei gexpert konnte/kann man Preferences für Komponenten einstellen, die dann für jedes Mal gelten, wenn kompiliert wird. Z.B. das Setzen der Connect-Eigenschaft auf false, damit man zur Porgrammierzeit immer Daten in den Formularen sehen kann, aber zur Laufzeit dann irgendwelcge Benutzereinstellungen zur Konnektivität vorher geladen wedren sollen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.
Seite 1 von 2  1 2      

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