这里是我的查询:
//表名:问题
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)当多个选择条件是在一只可用的使用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");
您收到此错误,因为数“?” 在参数不匹配,其中和数组长度。 你可以把状态这样
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