Zitat von
haentschman:
schau dir mal in der Zwischenzeit
das an. Da geht es darum, daß SQLite einfach Feldtypen ändert. Vieleicht liegt der Knackpunkt da.
Okay, jetzt wird mir klar, wieso nur ein Teil zurückgeliefert wird.
Delphi-Quellcode:
procedure TfmDate.dsqlQueryInitFieldDef(const AColumn: TDISQLite3Column;
const AFieldDef: TFieldDef);
begin
if AColumn.ColumnName = 'Datum' then
AFieldDef.DataType := ftDate;
end;
Hab AFieldDef.DataType in die Watchliste getan und Haltepunkte gesetzt, AFieldDef ist vorher ein
ftFloat, das erklärt wieso aus
2010,04,02 -> 2010,04
2010-04-02 -> 2010
usw. wird.
Nachdem ich den Feldtypen auf ftDate umgewandelt hab, bekomm ich den Fehler, dass "-1710415.0" kein gültiger "timestamp" ist, liegt das an der Formatierung? (das werd ich gleich mal testen)
Edit: Also, ich hab das Datum mal ohne Trennzeichen formatiert 20100201 (für den 2010.02.01 -> 01.02.2010). Das Ergebnis ist, dass mein DBGrid nun 06.12.50320 anzeigt, dass erinnert mich wieder an das, was eine Freundin gesagt hat:
Zitat:
50320 könnten die tage von 1900 an sein
kommt das hin?
Edit2: Hab gerad nochmal nachgeschaut, hat das was mit dem "30.12.1899" zu tun? Ich begeb mich mal an das Umrechnen.