2012-04-09 1 views
1

Я новичок в разработке Android. Я работал над этим в течение одного дня, и я не мог понять, в чем проблема, потому что мой запрос работает без ошибок, но результата нет.SQL Между работой в android sqlite date не работает?

Мой запрос к базе данных Значение 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

Но проблема в том, что я могу извлечь все данные из базы данных, но если я хочу получать значения за последние 7 дней, это не показывает любые значения.

Было бы здорово, если бы у вас были какие-либо альтернативы? и подскажите, как пойти на это?

Благодаря ...

ответ

-1

, как вы говорите, ваш date тип TEXT, я не думаю, что вы можете использовать between x and y, чтобы сделать фильтр, чтобы вернуть содержимое из x to y.

вы можете попробовать следующее: http://www.roseindia.net/sql/sql-between-date.shtml или http://www.techonthenet.com/sql/between.php.

+0

Спасибо за ваш ответ. Я решил проблему, прежде чем видеть ваш комментарий. Но ваш ответ правильный. мы не можем использовать между оператором .. спасибо за ваш ответ ... – GoCrazy

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

Попробуйте этот запрос, вы допустили ошибку в date('"+formattedDate+"','-7 days')".

+2

благодарит за комментарий ... Я решил проблему. проблема между оператором, я попытался использовать функцию GoCrazy

 Смежные вопросы

  • Нет связанных вопросов^_^