Einzelnen Beitrag anzeigen

ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#14

AW: 0.0 ist kein gültiger Zeitstempel

  Alt 11. Aug 2011, 09:46
Nach den Fakten aus Deiner Beschreibung kann die Deklaration des Feldes in Deiner Tabelle kein numerischer Typ TDate sein, sondern das Feld muss als Typ String vorliegen. Denn wie käme sonst im Feld Deiner Tabelle explizit der Eintrag im Format "dd.mm.yyyy" zustande ? Schließlich ist dieses Format mit einer rein numerischen TDate-, d.h. Double-Variablen, so definitiv nicht möglich, sondern nur als String.

Also wird Deine Eingabe des Datums als Now() zwar zunächst als TDate-Wert angenommen und kann - wie von mir oben beschrieben - intern zur Aufnahme in das Feld dann auch richtig in einen Datumstring umgesetzt werden, selbst wenn die Jahreszahl im String größer als 4 Zeichen werden sollte, wie hier geschehen. Warum jedoch dieser überhöhte Mantissenwert, der zu der Jahreszahl mit mehr als 4 Zeichen führt, bei Dir auftritt, ist aus Deiner alleinigen Angabe, dass Du das Feld über ".AsDateTime auf Now" setzt, nicht nachzuvollziehen. Dazu müsste man die näheren Details zum Code kennen.

Jedenfalls erklärt sich beim anschließenden Wiederauslesen des (String-)Feldeintrages als TDate-Wert die von Dir beobachtete Fehlermeldung exakt aus meiner obigen Erklärung. Denn zwangsläufig muss ja für diesen Vorgang im Hintergrund eine der String->TDateTime-Konversionsroutinen werkeln und somit der Bug aktiv werden.

.
  Mit Zitat antworten Zitat