<分区>
我有以下 SQLite 查询:
ArrayList<Long> idList = new ArrayList<>();
// adding Long values to idList
SQLiteDatabase db = getReadableDatabase();
final String whereClause = COLUMN_DEVICE_ID + " IN (?)";
final String[] whereArgs = new String[]{TextUtils.join(", ", idList)};
Cursor cursor = db.query(TABLE_DEVICES, null, whereClause, whereArgs,
null, null, null);
执行此查询会产生一个空的 Cursor
。
问题的原因似乎是 whereArgs
String
没有插入到 whereClause
中。
我调试了代码并注意到 Cursor
的 mQuery
字段被初始化为以下内容:
SELECT * FROM table_devices WHERE device_id IN (?)
为什么 ?
没有被 whereArgs
替换?
提前致谢。