Autor Beitrag
jjturbo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: Fr 15.07.11 13:21 
Moin Forum,

ich habe eine Firebirddatenbank, in der ich mit Zeos in einer Tabelle in einem Feld vom Typ Float einen TDateTime-Wert schreibe:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
  ZTable1.Append;
  ZTable1.FieldByName('Date').AsDateTime     := Date;
  ZTable1.FieldByName('Time').AsDateTime     := Time;
  ZTable1.FieldByName('ExactTime').AsFloat   := Now;
  ZTable1.Post;


Ich rufe meine Funktion zum Testen im 10-Sekunden-Takt auf. In dem Feld "Time" steht immer die aktuelle Uhrzeit, im Feld "ExactTime" steht immer exakt der gleiche Wert. Wenn ich mir das ganze im Debugger ansehe und die Maus über "ZTable1.FieldByName('ExactTime').AsFloat" halte, dann werden mir auch ganz klar unterschiedliche Werte angezeigt. Auch nach dem Post.

Ich hoffe Ihr könnt mir weiterhelfen?

Danke im voraus, Oliver

_________________
Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 15.07.11 15:07 
Ehrlichgesagt, ich verstehe ncihtmal wo Dein Problem liegt. Und ich hab Deinen Post mehrfach gelesen. Könnte aber auch daran liegen, dass schon Freitag ist. :lol:

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
jjturbo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: Fr 15.07.11 15:33 
Beispiel:
Es werden nacheinander vier Datensätze mit folgenden Werten in ExactTime gespeichert:
40739.6112906829
40739.6114064236
40739.6115221643
40739.6116379051

Aber in allen Datensätzen steht anschliessend in ExactTime der gleiche Wert!
Das passiert aber nur, wenn ich das Feld als Float deklariere. Ich habe es jetzt mal als VARCHAR deklariert, dann geht es.

_________________
Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 15.07.11 16:16 
Deklarier das Feld mal als Numeric(15,15). Passiert dann das selbe?

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
haentschman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 285
Erhaltene Danke: 33


DX10 Berlin Professional
BeitragVerfasst: Sa 16.07.11 09:01 
Zitat:
Das passiert aber nur, wenn ich das Feld als Float deklariere. Ich habe es jetzt mal als VARCHAR deklariert, dann geht es.

... Warum benutzt du nicht die dafür vorgesehenen Feldtypen Date und Time ? :gruebel: