如何使用查询使用一个选择栏选择多个参数(How to use query for multiple

2019-09-20 19:35发布

这里是我的查询:

//表名:问题

          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子句,但没有能够解决它。

Answer 1:

我得到了答案。

1)对数据进行排序,需要在最后一个参数输入列名

2)当多个选择条件是在一只可用的使用IN Operator

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


Answer 2:

您收到此错误,因为数“?” 在参数不匹配,其中和数组长度。 你可以把状态这样
1)使用在两个条件

 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"); 
2)使用IN条件
 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"); 



文章来源: How to use query for multiple selection argument using one selection column