Einzelnen Beitrag anzeigen

Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
655 Beiträge
 
Delphi 12 Athens
 
#4

Re: MSSQL/T-SQL: Wie "timestamp" speichern?

  Alt 19. Jan 2010, 13:09
Danke für eure Antworten.

TSQLTimeStamp hatte ich beim Wühlen auch schon gefunden, es aber wieder verworfen. TSQLTimeStamp bildet ja einen echten Datum/Zeit-Stempel ab, während Microsoft ja für den "timestamp" des SQL-Servers ausdrücklich darauf hinweist, dass dieser mit einem Datum und einer Uhrzeit nichts zu tun hat. Ich habe es gerade dennoch mal kurz getestet, aber wie erwartet lieferte mir
Delphi-Quellcode:
[...]
    currQuery.SQL.Add('SELECT @@DBTS');
    currQuery.Open;
    lastTimestamp:=currQuery.Fields[0].AsSQLTimeStamp;
...die Fehlermeldung, dass der Wert nicht in einen SQLTimeStamp umgewandelt werden könne.

Ich werde es wohl so oder so ähnlich machen, wie shmia vorgeschlagen hat. Oder alternativ auch so:

Delphi-Quellcode:
var lastTimestamp: TBytes;
[...]
begin
[...}
    currQuery.SQL.Add('SELECT @@DBTS');
    currQuery.Open;
    lastTimestamp:=currQuery.Fields[0].AsBytes;
[...]
end;
Ist ja letztlich das gleiche... Mal schauen, was mir am Ende besser gefällt. Vor allem möchte ich ja am Ende ein neue Abfrage starten, die in etwa so aussieht:

  currQuery.SQL.Add('SELECT * FROM Tabelle WHERE timestamp>'+lastTimestamp); Wobei es halt noch die Herausforderung ist, dieses "+lastTimestamp" in etwas umzuwandeln, womit dann auch der SQL Server glücklich wird.

Bis denn
Bommel
  Mit Zitat antworten Zitat