2013-08-27 90 views
1

我不明白爲什麼我的查詢在Java(android)中不起作用。 我想訪問一個SQLite數據庫,但我認爲問題是關於「WHERE」子句。Android日期爲sqlite的查詢

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年8月22日

也許我可以測試我的查詢出我的應用程序代碼,但我不知道知道該怎麼做...

感謝您的幫助。

回答

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"); 
+0

是,這個問題從行情來了。感謝你的竅門。 – psv