Android sqlite select查询带有数组值的where子句

时间:2018-09-19 06:12:04

标签: java android sqlite

我有一个字符串数组,我想通过带字符串数组的where子句查询。

code

1 个答案:

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