1

我是android开发的新手。我已经为此工作了一天,但我无法弄清楚确切的问题是什么,因为我的查询运行时没有错误但没有结果。

我的数据库查询 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 y过滤器来返回内容x to y

你可以试试这个:http ://www.roseindia.net/sql/sql-between-date.shtml或http://www.techonthenet.com/sql/between.php

于 2012-04-09T10:01:00.937 回答