作为参数化查询的一部分,我试图从plannerCalendar插入日期。
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显示日期有趣(下图):
更改参数也无济于事。
VALUES(julianday(:D),
如果我在数据库中将DATE字段更改为CHAR,则为:
DateToStr(Plannercalendar1.Date);
正常工作....
答案 0 :(得分:0)
我将日期时间存储在SQL时间戳中:
SomeQuery.ParamByName('PARAM').AsSQLTimeStamp := DateTimeToSQLTimeStamp(Now);
SomeDateTime := SQLTimeStampToDateTime(SomeQuery.ParamByName('PARAM').AsSQLTimeStamp);
从 Data.SqlTimSt 单元:
查看此功能