2012-04-09 79 views
1

我是android開發新手。我一直在爲此工作一天,我無法弄清楚確切的問題是什麼,因爲我的查詢運行沒有錯誤,但沒有結果。SQL在android sqlite中的日期操作不起作用?

我的數據庫查詢價值formattedDate

Calendar c = Calendar.getInstance(); 

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 

    String formattedDate = df.format(c.getTime()); 

    public Cursor paymentWeek(Activity activity) 
    { 

     String[] from = { _PAYMENTID, NAME, REQUESTEDDATE, FROMAD, TOADD, EMAILBODYPAYMENT, AMOUNT}; 

     SQLiteDatabase db = getReadableDatabase(); 

     String orderby = REQUESTEDDATE+" DESC"; 

     Cursor cursor = db.rawQuery("SELECT * FROM " + PAYMENTTABLE+ " WHERE " + REQUESTEDDATE + " BETWEEN date('"+formattedDate+"') AND date('"+formattedDate+"','-7 days')", null); 

     activity.startManagingCursor(cursor); 

     return cursor; 
    } 

我的數據庫日期類型是 TEXT。我以( yyyy-mm-dd)的格式存儲,例如:2012-04-07

但問題是我可以從數據庫中檢索所有數據,任何值。

如果有其他選擇可用,那將會很棒嗎?並提示如何去做呢?

謝謝...

回答

1
Cursor cursor = db.rawQuery("SELECT * FROM " + PAYMENTTABLE+ " WHERE " + REQUESTEDDATE + " BETWEEN date('"+formattedDate+"') AND date('"+formattedDate+"-7')", null); 

試用此查詢,您在date('"+formattedDate+"','-7 days')"犯了一個錯誤。

+2

感謝您的評論...我解決了這個問題。問題是運算符之間,我試着<操作符和日期()函數來檢索我的結果..它的工作... – GoCrazy 2012-04-09 10:53:00