Android SQLite列索引
我正在查询我的SQLite数据库,以获取使用IN运算符的记录Android SQLite列索引,android,sqlite,Android,Sqlite,我正在查询我的SQLite数据库,以获取使用IN运算符的记录 myDataBase.rawQuery("SELECT * FROM artist WHERE artist_id IN (?)", values); 但是我得到了一些SQLite异常。我不明白问题是什么 当我的数据库中有1条记录通过这个查询返回时,它是完美的,但是当我的数据库中有2条或更多记录通过这个查询返回时,它抛出了一些异常 这个例外是 SQLiteException: bind or column index out of
myDataBase.rawQuery("SELECT * FROM artist WHERE artist_id IN (?)", values);
但是我得到了一些SQLite异常。我不明白问题是什么
当我的数据库中有1条记录通过这个查询返回时,它是完美的,但是当我的数据库中有2条或更多记录通过这个查询返回时,它抛出了一些异常
这个例外是
SQLiteException: bind or column index out of range
请让我知道我在这个问题上做错了什么
谢谢…我建议你喜欢这个
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);
StringBuilder查询=新建StringBuilder();
//生成“从艺术家id所在的艺术家处选择*”
append(“(”)。
对于(int i=0;i
我建议这样做
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);
StringBuilder查询=新建StringBuilder();
//生成“从艺术家id所在的艺术家处选择*”
append(“(”)。
对于(int i=0;i
我认为,中的需要值
带有“,”分隔符。对于值
数组中的每个值,必须有一个单独的“?”。请看您的是对的@David Myour是对的@Chintan RathodI认为,
中的要求值
带有“,”分隔符。您必须为值
数组中的每个值单独设置一个“?”。看你是对的@David Myour是对的@Chintan RathodThanks伙计我用同样的方法来解决这个问题:)谢谢伙计我用同样的方法来解决这个问题:)