Hallo,
ich rufe Daten aus einer Oracle Datenbank ab. Das Feld dort hat das Format NUMBER.
Ich hab jetzt ein Problem.
Wenn im Feld 1,22 steht, dann wird auch 1,22 ausgegeben. Wenn aber 1,2 in der Tabelle steht dann bekomme ich beim auslesen 1,20 raus.
Sobald die Zahl mehr als 2 Nachkommastellen hat tritt das problem nicht auf. Nur wenn die Zahl eine Nachkommatslle hat wird eine null drangehängt.
Hab schon verschiedene Möglichkeiten ausprobiert: ODBC, System.Data.oracleclient, Oracle.DataAccess. also am Treiber liegt es nicht denke ich.
Muss irgendwas mit .net zu tun haben denke ich
Ne.
ich frage die Daten ab mit nem dataadapter ab und haue diese dann in eine datatable. Und in der DataTable stehen die schon falsch drin. Ich formatiere nichts bzw wandel nichts um
Im DataTable steht eine Zahl. Und bei einer Zahl ist 1,2 gleich 1,20.
Es ist also eine Frage wie Du das umwandelst.
Im Dot.NET Provider werden alle numerischen Werte in decimal dargestellt, und das hat in der Darstellung nun mal 2 Nachkommastellen.
Benutze Format(...) oder ToString(...) wenn Du ein anderes Format haben willst.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Im DataTable steht eine Zahl. Und bei einer Zahl ist 1,2 gleich 1,20.
Es ist also eine Frage wie Du das umwandelst.
Im Dot.NET Provider werden alle numerischen Werte in decimal dargestellt, und das hat in der Darstellung nun mal 2 Nachkommastellen.
Benutze Format(...) oder ToString(...) wenn Du ein anderes Format haben willst.
Grüße Bernd
Danke.
Hab jetzt allerding noch nen paar Fragen:
Thx
Hallo Zerberos,
- Weißt du zufällig wo ich das nachlesen kann mit dem .net Provider
Nirgendwo. Das merkt man.
- Warum funktioniert wenn ich ne Access Datenbank per oledb auslese?
Weil da der Datentyp anders ist, z.B. double oder float. Oder int.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3