ADO 连接 ACCESS 数据库的问题, 请高手解释!!
DELPHI 的 TDateTime 类型与 ACCESS 中的 Date/Time 数据类型好象对不上。
下例:
with ADOQuery do
begin
SQL.Clear;
SQL.Add('INSERT INTO ATable(DatetimeField) VALUES (:DatetimeValue)');
Parameters.ParamValues['DatetimeValue']:=Now;
ExecSQL;
end;
执行上述语句后,用 ACCESS 或 DBGRID 查看数据库,DateTimeField 字段中只有日期部分,而没有时间部分。
但是,只要将 Now 强制转换成 Double 类型,就可以了。如下:
with ADOQuery do
begin
SQL.Clear;
SQL.Add('INSERT INTO ATable(DatetimeField) VALUES (:DatetimeValue)');
Parameters.ParamValues['DatetimeValue']:=Double(Now);
ExecSQL;
end;
为什么会这样,TDateTime 和 Double 不是一回事吗?
在 System 单元中有: type TDateTime= type Double;
真是太奇怪了! 请高手解释!!