Autor Beitrag
Sef
Hält's aus hier
Beiträge: 4

XP Home

BeitragVerfasst: Di 21.08.07 19:41 
Ich habe ein Problem das ich nicht lösen kann.

In SQL ist eine Datei met ein Feld A, dass ist vom type Float.
In dieses Feld will ich eine Float Wert speichern mittels eine Stored Procedure.

In Delphi hab ich für dieses Feld folgendes:

ausblenden Delphi-Quelltext
1:
SP_PROC.CreateParameter('FloatFeld',ftFloat,pdInput,0,FloatWert);					



Wenn in der Variabele FloatWert folgendes ist gespeichert: 123456.789 dann ist nachher in der Datei noch übrig geblieben: 123457

Andere Werte für die Länge, haben kein Einfluss.

Im ganzen gelingt es mir nicht eine "grössere" Zahl von Ziffern zu speichern.

Ich muss was falsch machen aber keine Ahnung wie ich diese Rätsel lösen kann.
Wer hat eine Idee?

Moderiert von user profile iconKlabautermann: Delphi-Tag eingefügt.
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Mi 22.08.07 07:10 
Hi,

hast du es mal mit einem Kommawert versucht?

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
Sef Threadstarter
Hält's aus hier
Beiträge: 4

XP Home

BeitragVerfasst: Mi 22.08.07 09:35 
Leider.

In Delpi hab ich folgen Code:
ausblenden Delphi-Quelltext
1:
SP_PROC.Parameters.CreateParameter('@xcoordinaat', ftFloat, pdInput, 0, 12345678,12345);					


Und trotzdem wird nur 12345700 gespeichert.

Irgendwo hab ich gelesen dass der default Wert für die Anzahl von significante Ziffern, 7 sei.
Dass scheint dan auch hier der Fall zu sein.
In SQL sind jedoch 15 Ziffern significant.
Also irgendwo muss es Delphi klar gemacht werden dass ich 15 statt 7 Ziffern sehen will.
Es gibt eine Hinweis auf die Configuration, aber den kann ich nicht verfolgen.

Noch etwas:

Ich habe es weiter untersucht. Wenn ich direct nach dem SP_PROC eine "normale" UPDATE von der Tabelle mache (ADOCommand), mit SET xcoordinaat=12345678,12345 dann wird die richte Zahl gespeichert.
Also definitiv scheint mir etwas los zu sein mit der SP_PROC und CreateParameters für eine Float.