29. September 2006

Problem mit dem Decimal-Datentyp und OleDbParametern

Mir ist neulich ein Problem mit OleDbParametern aufgefallen. Ich weise einem Parameter einen Decimal hinzu, sagen wir einmal "1,23", in der Datenbank wird jedoch "123" gespeichert, das Komma wird also einfach herausgeschnitten!

Ein double-Wert der dem Parameter übergeben wird, wird inklusive Kommas korrekt gespeichert. Also entweder sollte man generell doubles verwenden, oder den decimal-Wert vor dem zuweisen in den OleDbParameter in einen String konvertieren, wobei man natürlich die Kultur (CultureInfo) beachten muss. Alternativ kann man auch den Decimal vor dem zuweisen zu dem Parameter in einen double konvertieren, hier wird auch der korrekte Wert "1,23" abgespeichert.

Wenn jemand hier was genaueres weiß, oder einen anderen Tipp hat, dann immer her damit ;-)

http://www.mycsharp.de/wbb2/thread.php?threadid=25406&hilightuser=294

1 Kommentar:

Anonym hat gesagt…

Hallo Anke,

Hast Du schon mal einen anderen Tipp bekommen? Ich hadere auch schon seit Wochen mit diesem Problem rum... Leider funktioniert das mit "als double-Typ speichern" leider nicht bei mir...

ciao,
vito AETT pizzabytes PUNKCHT net