Тема: время в БД
Показать сообщение отдельно
  #1  
Старый 24.10.2010, 13:25
koszh2007 koszh2007 вне форума
Прохожий
 
Регистрация: 24.03.2010
Сообщения: 11
Репутация: 10
По умолчанию время в БД

Доброе времени суток!!! У меня возникла такая проблема: мне необходимо записывать в таблицу БД системное время по Гринвичу с точностью до миллисекунды. Нахожу время всё нормально, но записывается это время в БД без миллисекунд, хотя и указываю формат времени.
Код:
// функция определение фремени по гринвичу
function GetCurrentGMT: TDateTime;
var
 y: TSystemTime;
begin
  GetSystemTime(y);
  result := SystemTimeToDateTime(y);
end;

......

var  s:string;
begin

 // DateTimeToString(s,'hh:mm:ss.zzzz',GetCurrentGMT);  // переводим время в строку
  with Client.q do
  begin
    Active:=false;
    SQL.Clear;
    SQL.Add('INSERT INTO '+tablica+'( '+fld1+', '+fld2+', '+fld3+', '
    +fld4+', '+fld5+', '+fld6+') VALUES( ');
    SQL.Add(QuotedStr(massiv[0])+','+QuotedStr(massiv[1])+','
    +QuotedStr(massiv[2])+','+QuotedStr(massiv[3])+','+QuotedStr(massiv[4])
    +', :Time)');
    Params.ParamByName('Time').Value :=  FormatDateTime('hh:mm:ss.zzz', GetCurrentGMT);
    ExecSQL;
  end;
Здесь время записывается в последние поля (fld6) - тип поля TIME.
Подскажите, как сделать так чтобы время отображалось полностью с миллисекундами.
Ответить с цитированием