私のアプリでは、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が返されます。何が欠けていますか?