【发布时间】:2013-09-11 16:07:31
【问题描述】:
在我的 DBHelper 的 getEvents 方法中有这行代码。
int year, month, day;
String[] columns = new String[] { KEY_EVENTNAME, KEY_DESCRIPTION,
KEY_HOUR, KEY_MINUTE, KEY_DAY, KEY_MONTH, KEY_YEAR,
KEY_REMINDER };
Cursor c = database.query(DATABASE_TABLE, columns,
KEY_YEAR + "=?"+ " AND " + KEY_MONTH + "=?" + " AND "+ KEY_DAY + "=?",
new String[] {String.valueOf(year), String.valueOf(month), String.valueOf(day)},
null, null, KEY_MONTH + " AND "
+ KEY_DAY);
它总是什么也不返回。当我删除以下内容时
int year, month, day;
String[] columns = new String[] { KEY_EVENTNAME, KEY_DESCRIPTION,
KEY_HOUR, KEY_MINUTE, KEY_DAY, KEY_MONTH, KEY_YEAR,
KEY_REMINDER };
Cursor c = database.query(DATABASE_TABLE, columns,
KEY_YEAR + "=?",
new String[] {String.valueOf(year)},
null, null, KEY_MONTH + " AND "
+ KEY_DAY);
它运行正常。我的代码有什么问题?似乎它不接受多个值作为 where 子句。 谁能帮我这个?谢谢。
【问题讨论】:
-
您是否收到错误或空结果集?你检查了月份和日期的值吗?
-
我做到了。年、月、日值正确。这就是为什么我不明白为什么这什么都不返回。
-
所以没有错误?因为查询看起来真的很好。请从您的第二个查询中放一个示例结果,也许参数有问题。
-
我没有收到任何错误,它只是返回 0 或什么都不返回。