如何在android中将多个选定值发送到数据库查询?
在我以前的项目中,我保留了单选按钮,如果选择了任何单选按钮(主题),我会发送该特定id 动态地修改查询。但现在我需要保留复选框而不是单选按钮,这意味着可以进行多次选择。 因此,如果选择了多个复选框,如何将id发送到查询以检索数据 从my_id=92的mytable中选择* 在上面代替92的查询中,我动态地传递值。但是现在如果我选中多个复选框,那么如何将值动态发送到查询 以及如何显示数据库表中的数据 有人能帮我解决这个问题吗。如何在android中将多个选定值发送到数据库查询?,android,Android,在我以前的项目中,我保留了单选按钮,如果选择了任何单选按钮(主题),我会发送该特定id 动态地修改查询。但现在我需要保留复选框而不是单选按钮,这意味着可以进行多次选择。 因此,如果选择了多个复选框,如何将id发送到查询以检索数据 从my_id=92的mytable中选择* 在上面代替92的查询中,我动态地传递值。但是现在如果我选中多个复选框,那么如何将值动态发送到查询 以及如何显示数据库表中的数据 有人能帮我解决这个问题吗。 提前谢谢 从my_id=92或my_id=93的mytable中选择*
提前谢谢 从my_id=92或my_id=93的mytable中选择*怎么样 您还应该使用Android提供的API,如下所示:
final Cursor c = mDb.query(true, "mytable",
new String[] { "name, description, title" }, // columns
"myid = ? OR myid = ?", // WHERE
new String[] { "92", "93" }, // WHERE args
null, // GROUPBY ***
null, // HAVING ***
null, // ORDER BY ***
null); // LIMIT
您可以尝试类似于
从mytable中选择*,其中我的id位于(92,93,94)
,在括号中添加任意数量的id
现在,有趣的部分是如何动态构建该字符串。我的建议是在id列表上使用迭代构建一个字符串
String whereClause = "my_id IN (";
for (String id : idList) {
if (whereClause.charAt(whereClause.length - 1) != "(") {
whereClause += ",";
}
whereClause += id;
}
whereClause += ")";
一旦你构建了这个字符串,你就可以将它作为
选择
参数传递到你的db查询方法中。你好,谢谢你的回复。例如,我有8个复选框,比如说,首先我选择了前4个,然后再次取消选择这些复选框,然后选择了接下来的4个复选框。因此,现在只有我选择的最后四个chk框id应该动态地进入查询。我该怎么做?如果我使用或符号给出,那么所有id的数据都将显示为na。。