Einzelnen Beitrag anzeigen

süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#1

ADOCommand Parameter - ich werde bekoppt

  Alt 6. Jan 2014, 20:04
Datenbank: Access / SQL Server • Version: 2010/2005 • Zugriff über: ADO
Hallo,
ich hoffe Ihr seit meine Rettung.

a) Ich hole aus einer Tabelle Q eine Summe (ADODataset)
b) Das Ergebnis ist 416,66666666666666.
c) Mittels ADOConmmand und SQL UPDATE will ich dieses Ergebnis in eine andere Tabelle einfügen.
Ich verwende brav Parameter. Es können viele Datensätze werden.

Code:
   dKost := FieldByName('intern').AsFloat;
   ...
   Parameters.ParamByName('I').Value := dKost;
Ergebnis in der neuen Tabelle = 41666666666666666
Ich dachte, weil dKost mit Komma ist.

Umgebaut zu Stingvariable sKost.
Code:
   sKost := FieldByName('intern').AsSting;
   ...
   Parameters.ParamByName('I').Value := StringReplace(sKost, ',', '.', [rfReplaceAll]);
Ergebnis der Variable = '416.66666666666666' mit Punkt
Ergebnis in der neuen Tabelle = 41666666666666666

Sowohl mit Komma als auch mit Punkt als auch als Float/Double immer das Gleiche.

Was passiert da?
Ich dachte eigentlich mit Parametern gibt es die Probleme nicht?
Gruß süden

[Delphi 2007 Pro, WIN 7 Pro, DevEx, Fastreport, TMS]
  Mit Zitat antworten Zitat