MS Access 2000(* mdb)默认值Now()有时会失败吗?

时间:2016-11-15 17:25:22

标签: ms-access visual-c++ ms-access-2000

是否存在MS Access 2000数据库的已知故障模式,当数据被拒绝(或者被静默丢弃,这更糟)时,要插入到包含日期/时间类型字段的表中,默认值为= Now( )?

有问题的日期/时间字段未编入索引或不需要;

但是当一个INSERT查询被发送到数据库时,它看起来像= Now()函数失败 - 并且数据没有写入表中(但是执行另一个自动增量字段查找,因为,当稍后= Now()成功,自动增量有一个间隙,等于查询运行的次数)

e.g。我在表格中看到了

ID | Data | Timestamp
5  | foo  | 11/15/2016 17:15:00
1  | foo  | 11/15/2016 17:11:00

当每分钟运行INSERT INTO TheTable ([Data]) VALUES (foo)并且问题发生在运行2,3和4上。最后一段时间后,它成功(如ID = 5所示)

为什么我认为它可能是= Now()问题?

因为如果计算机时钟改变/向后/(例如在DST调整期间)发生相同/类似的故障。

但最近发生的事情却是突然发生的,当DST调整已经发生时,几个小时内无法将数据写入该表。

(程序本身没有被告知查询失败并向前收费,好像什么也没发生 - 一些调试工作仍在等待)

我看了很多,并想知道这个Table Field Default Property Values Functions Not Working Anymore in Microsoft Access 2010是否与它有关?但是程序和数据库通过ODBC Microsoft Access(* .mdb)驱动程序进行通信(是的MS Office 2000文件...)

希望这是有道理的, 亲切的问候......

1 个答案:

答案 0 :(得分:1)

从未听说过这样的问题,但为什么不调整你的SQL:

INSERT INTO TheTable ([Data], [Timestamp]) VALUES (foo, Now())