【发布时间】:2013-02-07 18:21:50
【问题描述】:
在我的应用程序中,我正在使用 sqlite 数据库 - 我遇到了一个奇怪的问题。
我有一张如下所示的表格:
_id field1 field2 status
--- ------ ------ ------
1 value value ...
2 value value ...
...
在一个地方,我需要更新一些行以将它们设置为另一种状态,所以我正在尝试
SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("status", STATUS_SENT);
Set<Integer> ids = datasource.getCompletedIds();
String idparam = TextUtils.join(",", ids);
int cnt = db.update(TABLE_ORDERS, cv, "_id in (?)", new String[] { idparam });
Log.d("db", "updated " + cnt + " rows");
db.close();
但是没有任何更新 - db.update 返回 0。我错过了什么?
【问题讨论】:
-
我花了一分钟才找到,因为“in”是horrible search engine parameter... 但是:Android/SQLite IN clause and placeholders。