Как часть параметризованного запроса, я пытаюсь вставить дату из планировщика.
Params.ParamByName('D').AsDate := JulianDateToDateTime(PlannerCalendar1.Date);
Это не будет работать.
Любые иды?
РЕДАКТИРОВАТЬ:
Даже простая вставка даты не будет работать:
with ClientdataSet1 do
begin
Close;
CommandText :='';
CommandText :='INSERT INTO TLOG (DATE) VALUES (:D)';
Params.ParamByName('D').Value := Plannercalendar1.Date;
Execute;
Я получил:
Когда я это делаю (просто чтобы проверить):
CommandText :='INSERT INTO TLOG (DATE) VALUES (date(julianday("now", "LOCALTIME")))';
Дата вставлена.
Когда я использую это (выглядит многообещающим):
Params.ParamByName('D').Value := DateTimeToJulianDate(Plannercalendar1.Date);
Дата, вставленная в базу данных, в порядке, но cxgrid отображает дату смешного (ниже):
Изменение параметра также не помогает.
ЦЕННОСТИ (julianday (: D),
Если я изменил поле DATE на CHAR в базе данных, тогда:
DateToStr(Plannercalendar1.Date);
работает нормально....
Я храню datetime в метках времени SQL:
SomeQuery.ParamByName('PARAM').AsSQLTimeStamp := DateTimeToSQLTimeStamp(Now);
SomeDateTime := SQLTimeStampToDateTime(SomeQuery.ParamByName('PARAM').AsSQLTimeStamp);
Взгляните на эти функции из модуля Data.SqlTimSt: