Mega Code Archive

 
Categories / Delphi / ADO Database
 

Adapt datetime values for sql-server or access formats

{--------------------------------------------------------------------- Dieser Tip ist als Verbesserung zum ursprünglichen Artikel http://www.swissdelphicenter.ch/de/showcode.php?id=1423 gedacht. Die folgende Funktionen wandeln einen DateTime Wert (unabhängig vom eingestelltem Datumsformat) in einen für den SQL-Server verständlichen String um. ---------------------------------------------------------------------- Please also take a look at the initial tip: http://www.swissdelphicenter.ch/de/showcode.php?id=1423 the following functions converts a datatime value (independant of the dateformat) to a string that is readably by the SQL Server ---------------------------------------------------------------------} function DateTimeToSQLServerDateTimeString(Value: TDateTime): string; begin Result := '{ ts' + QuotedStr(FormatDateTime('yyyy-mm-dd hh":"nn":"ss.z', Value)) + ' }'; end; function DateTimeToSQLServerDateString(Value: TDateTime): string; begin Result := '{ d' + QuotedStr(FormatDateTime('yyyy-mm-dd', Value)) + ' }'; end; function DateTimeToSQLServerTimeString(Value: TDateTime): string; begin Result := '{ t' + QuotedStr(FormatDateTime('hh":"nn":"ss.z', Value)) + ' }'; end; { dito für die Jet-Engine (Access-Datenbank) also for the Jet-Engine (Access database) } function DateTimeToAccessDateTimeString(Value: TDateTime): string; function FloatToStrEx(const Value: Extended; const DecSep: Char): string; var OldSep: Char; begin OldSep := DecimalSeparator; try DecimalSeparator := DecSep; Result := FloatToStr(Value); finally DecimalSeparator := OldSep; end; end; begin // Da Access (Jet-Engine) ein Datum als Double speichert... // because Access (Jet-Engine) stores a date as a double... Result := FloatToStrEx(Value, '.'); end;