2017-02-07 83 views
0

我是Android新手。我不知道更多關於sqlite數據庫和日期。我只想從數據庫獲取上週的數據。我通過以下一些材料嘗試了下面的代碼。我沒有得到,如果我在日期數據類型,如果我在查詢中使用date()方法申報日期。如果有人用一些代碼來幫助我,那麼這些代碼對我來說會很有幫助。 我通過以下方式創建表:如何從Android數據庫檢索上週的數據

String query = "CREATE TABLE " + TABLE_NAME + 
     "(" + ID 
      + " integer primary key autoincrement, " 
      + AMOUNT + " real, " 
      + PAYER_NAME + " text, " 
      + NOTE + " text, " 
      + DATE + " text " + ")"; 

在這裏,我將數據

public void addInformation(DataProvider provider) { 

    SQLiteDatabase db = getWritableDatabase(); 
    ContentValues values = new ContentValues(); 
    values.put(ID, provider.getId()); 
    values.put(AMOUNT, provider.getMoney()); 
    values.put(PAYER_NAME, provider.getName()); 
    values.put(NOTE, provider.getDesc()); 
    values.put(DATE,provider.getDate()); 
    db.insert(TABLE_NAME, null, values); 
    db.close(); 
    } 

和以下查詢我試圖找回我的數據

SELECT * FROM income_table WHERE date BETWEEN date('now', '-6 days') AND date('now') 

回答

-1

嘗試將日期格式設置爲YYYY-MM-DD而不是「yyyy-MM-dd」,並在查詢中添加本地時間,如果仍然不起作用。

SELECT * FROM income_table WHERE date BETWEEN datetime('now', '-6 days') AND datetime('now', 'localtime'); 
+0

'DD'返回'年的日期',即1〜365。 –

+0

它不起作用 – Rahid

+0

@Rahid查詢返回什麼? –

0

我想你在你的數據庫中設置了錯誤的日期,或者這對你有用。

Statement stmt = conn.createStatement(); 
ResultSet rs = stmt.executeQuery("SELECT * FROM income_table WHERE date BETWEEN datetime('now', '-6 days') AND datetime('now', 'localtime')");