我正在尝试将一行插入访问数据库(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
我无法理解造成这种情况的原因。提前感谢您的帮助。
答案 0 :(得分:4)
MS-Access长数据类型可以保存从-2,147,483,648到2,147,483,647(有符号)的值。
你试图插入太大的数字。
答案 1 :(得分:2)
您可以在this link中查看数据库引擎的数据类型。
根据此页面,您尝试为长字段分配太大的值。您应该为这些字段选择更合适的类型。
答案 2 :(得分:1)
MS-Access中LONG整数值的范围是 - 2,147,483,648到2,147,483,647。您的值超出此范围。