Autor Beitrag
TerenceJackson
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 20.01.09 13:14 
Hi,

ich bin relativ neu im "Delphi Geschäft" und habe mal ne kleine Frage.
Ich will einen Wert in der Datenbank schreiben.
Das mache ich über die TADOQuery klasse.
Mein Insert Befehl sieht folgerndermaßen aus:
<code>
[highlight] iQuery.SQL.Clear;
iQuery.SQL.Add( 'INSERT INTO Leistung (Verteilung)' +
' OUTPUT INSERTED.ID' +
' VALUES (:_Dbl)' );
iQuery.Parameters.ParamByName('_Dbl').Value := self.FDbl;
<<HIER IST EIN BREAKPOINT GESETZT>>[/highlight]
</code>
Das Problem ist nun, dass ich ne Zahl mit 6 Nachkommastellen reingebe, er aber nur 4 speichert.
FDbl ist als Double deklariert.
Das Feld in der DB ist decimal(9,6)
Der Debugger gibt mir folgende Ausgabe, wenn ich die Daten auslese beim Breakpoint:
self.FDbl = 22,222222
iQuery.Parameters.ParamByName('_Dbl').Value = 22.2222

Woran kann das liegen?
Was muss ich beachtem, damit er hier die volle Zahl mit übernimmt?
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 20.01.09 14:08 
AFAIK liegt das am Typ Decimal. Wenn es Dir möglich ist, mach da mal Double daraus oder erweitere die Anzahl der Nachkommastellen um 2.
TerenceJackson Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 20.01.09 14:21 
DANKE!
Hab das Feld mal in Float in der DB geändert.
Dann ging es...