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 に答える