2017-02-07 1 views
0

나는 android에서 새롭다. 나는 sqlite 데이터베이스와 날짜에 대해 더 많이 알지 못한다. 나는 지난 주 데이터를 데이터베이스에서 가져오고 싶다. 나는 약간의 자료를 따라 코드 아래에서 시도했다. 나는 date 데이터 타입으로 date를 선언해야한다. 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

나는 당신이 당신의 데이터베이스에 잘못된 날짜를 설정하거나이 당신을 위해 작동합니다 생각합니다.

관련 문제