2011-10-31 222 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