Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Interbase/FireBird und Currency (https://www.delphipraxis.net/25949-interbase-firebird-und-currency.html)

Jens Schumann 15. Jul 2004 12:47


Interbase/FireBird und Currency
 
Hallo,
mit welchem Interbase/FireBird Typen (SQL-Dialekt 3) würdet Ihr den Delphi Currency Type in einer
Interbase/FireBird Datenbank speichern?

Hansa 15. Jul 2004 13:00

Re: Interbase/FireBird und Currency
 
Ich verwende immer DECIMAL. Bisher noch kein Problem entdeckt. Das kann aber noch kommen. :lol:

Jens Schumann 15. Jul 2004 13:08

Re: Interbase/FireBird und Currency
 
Zitat:

Zitat von Hansa
Ich verwende immer DECIMAL. Bisher noch kein Problem entdeckt. Das kann aber noch kommen. :lol:

aber wie? - Decimal(X,Y) - Die Werte für X und Y interessieren mich hier besonders

[edit]Ich muss dort bis zu 100.000.000.000,99 Euro unterbringen können[/edit]

Lemmy 15. Jul 2004 16:19

Re: Interbase/FireBird und Currency
 
Hi Jens,

bei Dialect 3 verhalten sich die Typen DECIMAL und NUMERIC identsich. Um einen möglichst großen Wert abzuspeichern nimmst Du (18,2)!

Grüße
Lemmy

grips-net 27. Okt 2005 11:41

Re: Interbase/FireBird und Currency
 
Ich hab auch noch ein kleines Currency-Problem bei Firebird:

Wenn ich DECIMAL oder NUMERIC nutze und als Beträge "1,99", "30,30", "20,00" speichere, werden die letzten Nullen abgeschnitten. Dies sieht dann im Grid ziemlich hässlich aus. Gibt es eine Möglichkeit, dass ich den Wert aus der Spalte in einem anzeigbaren Format zurückbekomme? Gibt es einen alternativen Feldtypen, der mir Nullen als Nachkommastellen nicht wegstreicht? Gibt es eine Erweiterung zum SELECT-Befehl?

Vielen Dank für die Hilfe!

Hansa 27. Okt 2005 11:52

Re: Interbase/FireBird und Currency
 
Die Darstellung ist Sache des Datasets. Gucke mal da in Richtung "Display Type" oder schreibe selber ein paar Zeilen für OnDrawCell.

Matthias-k 27. Okt 2005 11:53

Re: Interbase/FireBird und Currency
 
entweder du speicherst es direkt als string,

oder du formatierst deinen zellinhalt.

matthias

marabu 27. Okt 2005 12:04

Re: Interbase/FireBird und Currency
 
Schau dir mal die Eigenschaft DisplayFormat oder das Ereignis OnGetText() von TNumericField an. Das könnte dir weiter helfen.

Grüße vom marabu

grips-net 27. Okt 2005 12:17

Re: Interbase/FireBird und Currency
 
Naja, als String speichern ist wenig elegant. V.a. wenn ich mit den Werten rechnen will.
mySQL kennt z.B. einen FORMAT()-Befehl; bei dBase kann ich .asCurrency nutzen.

Gibt es so etwas in Firebird überhaupt nicht, oder bin ich nur zu ungeschickt um das zu finden?

@marabu
Der Hinweis mit TNumericField () ist auf jeden Fall eine Option, wenn auch keine Optimal, da aich dann alle Felder durchlaufen müsste, was sehr auf Kosten der Performance geht. Ich habe immer noch die Hoffnung, dass es für mein alltägliches Prolem eine schöne simple Lösung gibt, die mir nur momentan nicht einfallen will.



Schonmal vielen Dank für die bisherigen Beiträge!


Grüße aus dem Saarland.

Hansa 27. Okt 2005 12:34

Re: Interbase/FireBird und Currency
 
Liste der Anhänge anzeigen (Anzahl: 1)
Was ist denn da kompliziert ? Gibts so was wie im Anhang bei Dir nicht ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:14 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