Android SQLite查询不返回任何内容

Android SQLite查询不返回任何内容,android,sqlite,Android,Sqlite,我在SQLite中有一个查询,希望根据传递的日期返回一个值。日期在数据库中以字符串形式存在。我知道数据库中有那个日期的数据,但它什么也不返回。我不知道为什么。当我在没有comparison参数的情况下进行查询时,它会正常返回所有数据,但使用查询方法中的WHERE子句时,它会停止返回。也许这只是SQL语法的问题。不管怎么说,以下是声明: Cursor cursor = db.query(TABLE, new String[] {"_id", "value"}, "current_date = ?

我在SQLite中有一个查询,希望根据传递的日期返回一个值。日期在数据库中以字符串形式存在。我知道数据库中有那个日期的数据,但它什么也不返回。我不知道为什么。当我在没有comparison参数的情况下进行查询时,它会正常返回所有数据,但使用查询方法中的WHERE子句时,它会停止返回。也许这只是SQL语法的问题。不管怎么说,以下是声明:

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

编辑

我在SQLite数据库浏览器中进行了此查询,它不返回任何值。即使它在那里

我已经看到这是非常有趣和困惑。我已经在数据库浏览器和手机上进行了测试,当我通过了当天,即“今天”这一天时,它会得到数据,但当我通过了另一天,而不是今天时,它不会返回任何结果。非常非常奇怪


在数据库浏览器中,我选择了包含日期的列,它只返回“今天”日期,即使在有其他日期之前也是如此

如果您的日期是以“dd-mm-yyyy”格式存储在数据库中的,请尝试像这样使用它-

Calendar cal=Calendar.getInstance();
Cursor cursor = db.query(TABLE, new String[] {"_id", "value"}, "date = ? ", String.format("%1$td-%1$tm-%1$tY",cal), null, null, null);

对于其他格式,请参考

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

新字符串[]{“\u id,value”}
-您可能需要
新字符串[]{“\u id”,“value”}
。如果这还不能解决问题,请发布
日期
的确切值以及数据库中的内容。两种格式(传入格式和数据库中的格式)都是yyyy-mm-dd格式。我已修复了此问题,但没有解决。然后,您可能在应用程序中编写了错误的查询,或者只是输入错误。在您的问题中,是Cursor=db.query(表,新字符串[]{“\u id”,“value”},“date=?”,新字符串[]{date},null,null);