【发布时间】:2011-10-31 01:52:19
【问题描述】:
我在 SQLite 中有这个查询,我想根据传递的日期返回一个值。日期在数据库中作为字符串。我知道数据库中有那个日期的数据,但它什么也没返回。我不知道为什么。当我在没有比较参数的情况下进行查询时,它会正常返回所有数据,但是在查询方法中使用 WHERE 子句,它会停止返回。也许这只是 SQL 语法的问题。无论如何,这是声明:
Cursor cursor = db.query(TABLE, new String[] {"_id", "value"}, "current_date = ? ", new String[] {date}, null, null, null);
编辑
我在 SQLite 数据库浏览器中进行了此查询,但它没有返回任何值。即使它在那里。
我已经看到这很有趣和困惑。我已经在数据库浏览器和手机上进行了测试,当我通过当天,“今天”时,它会获取数据,但是当我通过另一天不是今天时,它什么也不返回。非常非常奇怪。
在数据库浏览器中,我选择了包含日期的列,它只返回“今天”日期,即使在还有其他日期之前也是如此。
【问题讨论】:
-
new String[] {"_id, value"}- 你可能想要new String[] {"_id", "value"}。如果这不能解决问题,请发布date的确切值以及数据库中的内容。 -
两种格式(传入和数据库中)都是这种格式 yyyy-mm-dd。我修复了这个问题,但没有解决。