Einzelnen Beitrag anzeigen

macDoe

Registriert seit: 19. Jun 2011
9 Beiträge
 
#1

Floatwerte in Datenbanken speichern

  Alt 2. Nov 2014, 17:08
Datenbank: Jede • Version: alle • Zugriff über: NativeDB, ODBC
Moinsn..

Ich habe da folgende Frage...
wenn Ich einen Floatwert in eine DB, in diesen Fall MS SQL 2012 aber das spielt keine Rolle, schreiben möchte über eine normale SQl query wie..

Update Test set Kohle = '123.34' where Rowid = 1

Dann darf das natürlich nicht '123,34' heissen sonst knallt es.
Wenn man aber die SQL Abfragen individuell baut sind das nun mal Strings.

So etwa :

DM.DatMod.oq3.SQL.Add(' Update Test set Kohle = ''' + s + ''' ');

'S' darf hier natürlich kein Float sein.

Da aber selbst die StrToFloat Methode den Wert mit Komma zurück gibt weil wir halt in Deutschland sind ist das doof.

Ich finds ja toll das Windows und die Datenbanken mir in Deutschland ein Komma als Dezimaltrenner hinpinseln auch wenn in der
DB ein Punkt steht, aber an dieser Stelle ist das echt Mist. Klar, Ich kann natürlich statt Floats einfach Strings nehmen und schon klappt das.
Aber mit Strings rechnet man so schlecht...

Ich suche nun einen Weg meine Inszantvariablen als Float zu deklarieren und gleichzeitig keine Probleme zu habe wenn Ich sie in die
DB schreiben möchte. Im Moment konvertiere ich das hin und her - aber mal ehrlich, wie Elegant ist das denn?

Ja, Ich weiß...da gibt es was mit Formatierunseinstellungen aber Ich möchte meiner Applikation nicht vorgauckeln in Amiland zu sein.
Naja, vermutlich ist das so banal das ich mich grad zur Lachnummer mache, aber wenn Ich eins kann dann das



es grüßt..
der Frank
  Mit Zitat antworten Zitat