Android SQLite列索引

时间:2013-02-08 14:02:07

标签: android sqlite

我正在查询我的SQLite数据库以使用IN运算符

获取记录
myDataBase.rawQuery("SELECT * FROM artist WHERE artist_id IN (?)", values);

但我得到一些SQLite异常。我不明白这是什么问题 当我的数据库有1条记录由此查询返回时,它是完美的,但是当我的数据库中有2条或更多条记录要通过此查询返回时,它会抛出一些异常 那个例外是

SQLiteException: bind or column index out of range

请告诉我这个查询的错误

感谢...

1 个答案:

答案 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);