Setze den Dezimaltrenner in deinem Programm entweder so wie er in der
DB ist. Aber das ist bescheuert für den User, der das nicht umsonst so eingestellt hat.
Ich hab's gerade nicht im Kopf, aber es gibt sicherlich auch eine Konvertierungsfunktion für Double -> String, die als Parameter ein Format oder einen Dezimaltrenner schluckt.
Normalerweise sollten
DB Client und das lokale System mit den gleichen Regionaleinstellungen laufen. Denn dieser Unterschied 12.2 <-> 12,2 kann nur durch einen verkorkste Client Installation entstehen.
Falls du keine Kontrolle über den
DB Client auf dem Zielsystem hast, musst du zwangsläufig immer zwischen den lokalen Regionaeinstellungen und denen des Clients konvertieren.
Wenn du einfach den Double als Double herausholst und auch in
SQL-Parametern als Double benutzt, solltest du a) keine mehr Probleme haben und b) witzlose Umwandlungen einsparen.