2017-02-07 29 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')");