날짜를 sqlite 데이터베이스 테이블에 문자열로 저장했습니다. 내가 필요한 것은 지난 7 일 동안 저장된 값을 가져와야합니다. 다음을 사용하여 시도했지만 값을 표시하지 않습니다.android에서 날짜를 사용하여 데이터베이스 (Sqlite)에서 값을 검색하는 방법은 무엇입니까?
내 데이터베이스 기능
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('now')" + " AND " + "date('now','-7 days')", null);
activity.startManagingCursor(cursor);
return cursor;
}
Calling function
Cursor week = db.paymentWeek(this);
String[] weekly = new String[] { PaymentAppDataBase.REQUESTEDDATE,PaymentAppDataBase.PAYMENTNAME,PaymentAppDataBase.AMOUNT };
int[] sevendays = new int[] { R.id.Date,R.id.Name,R.id.Amount };
SimpleCursorAdapter weekcursor =
new SimpleCursorAdapter(this, R.layout.listview, week, weekly, sevendays);
setListAdapter(weekcursor);
db.close();
그것은 도움이 될 것입니다 밖으로 정렬 너희들이 문제의 경우. 나는 여기에 붙어있다. 당신은 당신의 DB 설계를 변경할 필요가 없습니다
"select * from " + PAYMENTTABLE + " where " + REQUESTEDDATE + "DATE_SUB(CURDATE() ,INTERVAL 7 DAY) AND CURDATE()";
: yourDateFormat 같은 것을해야
. 데이터베이스 디자인을 변경할 수 있습니까? 밀리 스 (문자열이 아닌)로 데이터베이스에 날짜를 저장하면 삶이 편하게됩니다. – Roger
일의 배열을 만들고 예를 들어에 사용할 수 있습니다. 테이블에서 *를 선택하십시오 ('4/8/2012', '4/9/2012', ...);은 효율적이지 않지만 문자열로 작동합니다. –
귀하의 의견을 보내 주셔서 감사합니다 ... 그래, 난 밀리 ..로 내 DB를 변경할 수 있습니다 당신이 몇 가지 팁을 줄 경우 위대한 것입니다, 나는 안드로이드 프로그래밍에 새로운이기 때문에 ... 감사합니다 – GoCrazy