2011-10-31 175 views
1

我在SQLite中有这个查询,我想根据传递的日期返回一个值。日期在字符串中作为数据库。我知道数据库中有该日期的数据,但它什么都不返回。我不知道为什么。当我没有使用comparisson参数进行查询时,它会正常返回所有数据,但在查询方法中使用WHERE子句时,它将停止返回。也许它只是一个SQL语法的问题。不管怎么说,这里是语句:SQLite查询什么也没有返回

Cursor cursor = db.query(TABLE, new String[] {"_id", "value"}, "current_date = ? ", new String[] {date}, null, null, null); 

编辑

我做的SQLite数据库浏览器这个查询,它不返回任何值。即使它在那里。

我已经看到,这是相当有趣和困惑。我已经在数据库浏览器和电话上进行了测试,当我通过当天的'今天'时,它获取数据,但是当我今天通过另一天时,它不会返回任何内容。非常非常奇怪。

而在数据库浏览器中,我选择了包含日期的列,只返回'今日'日期,即使在有其他日期之前。

+1

'new String [] {“_id,value”}' - 你可能需要'new String [] {“_id”,“value”}'。如果这样不能解决问题,请发布'date'的值,以及数据库中的内容。 – 2011-10-31 01:55:29

+0

这两种格式(传入和在数据库中)都是这种格式yyyy-mm-dd。我修正了这个问题,但没有解决。 – rogcg

回答

0

列名是“ current_date“,这是一个SQLite函数名称。所以它没有得到其他日期,只是当前的日期。

+0

然后你在你的应用程序中写了一个错误的查询,或者这只是一个错字。在你的问题中,它是游标cursor = db.query(TABLE,new String [] {“_id”,“value”},“date =?“,new String [] {date},null,null,null); – Hiral