我有一个字符串数组,我想通过带字符串数组的where子句查询。
答案 0 :(得分:0)
您需要从数组构建一串用逗号分隔的值,而不是通过数组。
假设
String[] getAnswerIds = new String[]{"1","4","16","18","20"};
boolean after_first = false;
StringBuilder sb = new StringBuilder();
for (String s: getAnswerIds) {
if (after_first) {
sb.append(",");
} else {
after_first = true;
}
sb.append(s);
}
String your_list_of_values = sb.toString();
然后your_list_of_values将是字符串 1、4、16、18、20 ,然后只需将该字符串放在查询中的适当位置即可。
例如
Cursor mycursor = db.rawQuery("SELECT * FROM questions WHERE ID IN(" + your_list_of_values + ")",null);