Android 如何使用一个选择列查询多个选择参数
我的问题是: //表名:问题Android 如何使用一个选择列查询多个选择参数,android,sqlite,cursor,Android,Sqlite,Cursor,我的问题是: //表名:问题 Cursor cursor = db.query("QUESTION", new String[] { "TEXT", "OPTION_A", "OPTION_B", "OPTION_C", "OPTION_D", "OPTION_E", "RIGHT_ANSWER" }, "SUBJECT=?", new String[] { "Ingles", "Historia" },
Cursor cursor = db.query("QUESTION", new String[] { "TEXT", "OPTION_A",
"OPTION_B", "OPTION_C", "OPTION_D", "OPTION_E",
"RIGHT_ANSWER" },
"SUBJECT=?", new String[] { "Ingles", "Historia" }, null,null,
null);
我可以有多个科目,现在我只有两个科目(英格尔,历史学)
如何使用查询按主题对数据进行排序
我遇到绑定或超出范围错误。我知道错误在where子句的某个地方,但无法解决。我得到了答案
1) 要对数据进行排序,需要在最后一个参数中输入列名
2) 当多选条件在一列中可用时,使用运算符中的
Cursor cursor = db.query("QUESTION", new String[] { "TEXT", "OPTION_A",
"OPTION_B", "OPTION_C", "OPTION_D", "OPTION_E",
"RIGHT_ANSWER" },
"SUBJECT IN(?,?)", new String[] { "Ingles", "Historia" }, null,null,
"SUBJECT");
出现此错误是因为where中的“”数与参数中的数组长度不匹配。您可以这样设置条件
1) 在其中使用两个条件
Cursor Cursor=db.query(“问题”,新字符串[]{“文本”,“选项A”,“选项B”,“选项C”,“选项D”,“选项E”,“右答案“}”,SUBJECT1=?和SUBJECT2=?”,新字符串[]{“Ingles”,“Historia”},null,null,“SUBJECT”)代码>
2) 在条件下使用
Cursor Cursor=db.query(“问题”,新字符串[]{“文本”,“选项A”,“选项B”,“选项C”,“选项D”,“选项E”,“右答案“}”,主题在(?),新字符串[]{“Ingles,Historia”},null,null,“主题”)代码>有人能帮我吗???谢谢你的回答,但我的选择参数不是固定的,它可以是2,3,4,5,6,7,8,9。如何使查询动态运行???@MiteshAgrawal您可以使用StringBuilder并附加所有以“,”分隔的值,如当前的\u id.append(id.append(“,”);并将此变量传递给查询。
Cursor cursor = db.query("QUESTION", new String[] { "TEXT", "OPTION_A", "OPTION_B", "OPTION_C", "OPTION_D", "OPTION_E", "RIGHT_ANSWER" }, "SUBJECT1=? AND SUBJECT2=? ", new String[] { "Ingles", "Historia" }, null,null, "SUBJECT");
Cursor cursor = db.query("QUESTION", new String[] { "TEXT", "OPTION_A", "OPTION_B", "OPTION_C", "OPTION_D", "OPTION_E", "RIGHT_ANSWER" }, "SUBJECT IN(?)", new String[] { "Ingles,Historia" }, null,null, "SUBJECT");