我不明白为什么我的查询在Java(android)中不起作用。 我想访问一个sqlite数据库,但我认为问题是关于“WHERE”子句。
Cursor cQuery = db.query("PLUGBATTERY", new String[] {
"strftime('%s',date)", "code", "state","startup" }, "strftime('%Y-%m-%d',date)=="+DATE_FORMAT_DATE.format(currentC.getTime()), null, null,null, "strftime('%s',date)");
我在调试视图中的DATE_FORMAT_DATE.format(currentC.getTime())= 2013-08-22
也许我可以从我的应用程序代码中测试我的查询,但我不知道该怎么做...
感谢您的帮助。
答案 0 :(得分:3)
在SQL中,必须编写字符串'with quotes'
。
您可以使用参数来避免格式化此类问题(以及SQL injection attacks):
cursor = db.query("PLUGBATTERY",
new String[] { "strftime('%s',date)", "code", "state","startup" },
"date(date) = ?",
new String[] { DATE_FORMAT_DATE.format(currentC.getTime()) },
null, null, "date");