2

我正在尝试将一行插入到访问数据库(mdb,访问​​ 2000 AFAIK)中,如下所示:

conn.execute("INSERT INTO entries (userCol,typeCol,numitems,entrytime,worktime) VALUES ('mattk','Item 1',4,1339361723424,1339361723424)")

我收到以下错误:

Message: Data type mismatch in criteria expression.

变量 conn 是一个 adodb 连接对象。它在javascript中声明和初始化如下:

var conn = new ActiveXObject("ADODB.Connection");
conn.open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + source + ';User Id=admin;Password=;');

我已确认以下数据类型:

userCol: text
typeCol: text
numitems: integer
entrytime: long
worktime: long

我只是无法理解可能导致这种情况的原因。提前感谢您的帮助。

4

3 回答 3

4

MS-Access Long 数据类型可以保存从 -2,147,483,648 到 2,147,483,647(有符号)的值。

您正在尝试插入太大的数字。

于 2012-06-10T21:15:34.130 回答
2

您可以在此链接中查看 db 引擎的数据类型。

根据此页面,您试图为长字段分配太大的值。您应该为这些字段选择更合适的类型。

于 2012-06-10T21:23:11.990 回答
1

MS-Access 中的 LONG 整数值的范围是 – 2,147,483,648 到 2,147,483,647。您的值超出此范围。

于 2012-06-10T21:16:05.590 回答