Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用一个选择列查询多个选择参数_Android_Sqlite_Cursor - Fatal编程技术网

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");