SQLiteDatabase db = databaseHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("price",12.34);
db.update("Book",values,"name = ?",new String[]{"book1","book2"});
在android里的sqlite操作的时候,想要使用db.update()更新数据,写了以上的代码,想要一次更新两行数据,运行的时候报错
bind or column index out of range: handle 0x2fb180
后来网上搜到,才发现最后的那个参数数据组里的每个元素应该对应前面的一个占位符'?',如果前面只有一个'?',后面的参数里有2个元素的时候就出现这个报错。
然后把代码的update那行改成
db.update("Book",values,"name = ? and id = ?",new String[]{"book1","123"});
再次运行就正常了。
这个问题主要是对方法了解不够,要多看方法说名啊,以此做个备忘吧。