1

私はアンドロイド開発が初めてです。私はこれに1日取り組んできましたが、クエリはエラーなしで実行されていますが結果がないため、正確な問題が何であるかを理解できませんでした。

私のデータベースクエリ 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 日間の値を取得したい場合、値が表示されません。

利用可能な代替品があれば素晴らしいと思いますか? ヒントは?

ありがとう...

4

2 に答える 2

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

このクエリを試してみてください。あなたは で間違いを犯していdate('"+formattedDate+"','-7 days')"ます。

于 2012-04-09T09:51:59.833 に答える
-1

あなたが言うように、あなたのdateタイプはです。からコンテンツを返すフィルターを作成するためにTEXT使用できるとは思いません。between x and yx to y

これを試すことができます: http://www.roseindia.net/sql/sql-between-date.shtmlまたはhttp://www.techonthenet.com/sql/between.php

于 2012-04-09T10:01:00.937 に答える