我正在查询我的SQLite数据库以使用IN运算符
获取记录myDataBase.rawQuery("SELECT * FROM artist WHERE artist_id IN (?)", values);
但我得到一些SQLite异常。我不明白这是什么问题 当我的数据库有1条记录由此查询返回时,它是完美的,但是当我的数据库中有2条或更多条记录要通过此查询返回时,它会抛出一些异常 那个例外是
SQLiteException: bind or column index out of range
请告诉我这个查询的错误
感谢...
答案 0 :(得分:1)
我建议像这样
StringBuilder query = new StringBuilder();
// build "SELECT * FROM artist WHERE artist_id IN "
query.append('(').
for (int i = 0; i < values.length; i++) {
query.append(values[i]);
if (i != values.length - 1) {
query.append(',');
}
}
query.append(')');
myDataBase.rawQuery(query.toString(), null);