选择。。哪里在Android上使用rawQuery

选择。。哪里在Android上使用rawQuery,android,sqlite,android-studio,select,Android,Sqlite,Android Studio,Select,我想用数组查询sqlite数据库 示例: 我有以下情况: String[] Group = new String[] {"001", "002", "003"} 检查我是否使用: rawQuery ("Select * from Article Where group = '" + Group + "'); 它不起作用。我的问题是,我还可以用哪种方式处理它?免责声明:在使用此答案之前,您需要确保阵列中的数据是安全的。如果没有,则需要对其进行清理,以避免SQL注入 我不确定rawQuery是否

我想用数组查询sqlite数据库

示例:

我有以下情况:

String[] Group = new String[] {"001", "002", "003"}
检查我是否使用:

rawQuery ("Select * from Article Where group = '" + Group + "');

它不起作用。我的问题是,我还可以用哪种方式处理它?

免责声明:在使用此答案之前,您需要确保阵列中的数据是安全的。如果没有,则需要对其进行清理,以避免SQL注入

我不确定
rawQuery
是否支持数组,我找不到任何示例。 我将通过字符串操作自己构建查询。您需要运行
字符串[]
,并使用以下格式构建列表:

expression IN ('value', 'value', ...);
使用引号,因为我们处理的是字符串

所以我同意这一点:

String[] group = new String[] { "001", "002", "003" };

StringBuilder sb = new StringBuilder();
for (String s : group) {
    sb.append("'").append(s).append("',");
}
sb.deleteCharAt(sb.length() - 1); // removes the last comma, we don't want it

String query  = "SELECT * FROM Article WHERE group IN (" + sb.toString() + ");";

System.out.print(query);
它输出

SELECT * FROM Article WHERE group IN ('001','002','003');
然后

这是一个“和”还是“或”查询?
rawQuery(query);