更新时SQLite错误:索引超出范围

时间:2014-01-14 13:03:04

标签: android sqlite android-sqlite

我使用以下代码更新我的SQListe数据库中的项目:

    ContentValues values = new ContentValues();
    values.put(FIELD_NAME, place.getName());
    values.put(FIELD_LAST_SAVE_TIMESTAMP, System.currentTimeMillis() / 1000L);

    int affected_rows = db.update(TABLE_PLACES, values, FIELD_ID + " = '?'",
            new String[] { place.getId() });

我收到以下错误:

01-14 14:50:52.261: E/AndroidRuntime(26535): FATAL EXCEPTION: main
01-14 14:50:52.261: E/AndroidRuntime(26535):
android.database.sqlite.SQLiteBindOrColumnIndexOutOfRangeException: bind or column index out of range: handle 0x27984c8
你知道吗?

顺便说一句,这很难调试,因为我无法显示最终的sql语句。有没有办法以某种方式启用详细日志记录?

2 个答案:

答案 0 :(得分:2)

不得引用?。移除''以使其不被视为文字'?',而是视为文字的占位符。

异常表示?和绑定参数的数量不匹配。

答案 1 :(得分:-1)

可能值(System.currentTimeMillis()/ 1000L)超过FIELD_LAST_SAVE_TIMESTAMP最大值