I have a sqlite database which has table of tasks which has a column of dueDates. I want to filter out the dates greater than tomorrow's date. So if tomorrow's date is 29 th april I should get the dates later than tomorrow.
For this I have converted string into date. The format is :
Calendar calendar = Calendar.getInstance();
dateToday = calendar.getTime();
SimpleDateFormat df = new SimpleDateFormat("d MMM yyyy");
dueDateToday = df.format(dateToday);
calendar.add(Calendar.DAY_OF_YEAR, 1);
dueTomorrow = calendar.getTime();
dueDateTomorrow = df.format(dueTomorrow);
and the query is:
public ArrayList<Task> getDueDatesLater(String tomorrow) {
ArrayList<Task> conList = new ArrayList<Task>();
String selectQuery = "SELECT * FROM " + TASK_TABLE + " WHERE " + KEY_DUE_DATE + " > '" + tomorrow + "'" ;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
Task task = new Task();
task.setId(Integer.parseInt(cursor.getString(0)));
task.setTitle(cursor.getString(1));
task.setTaskPriority(Integer.parseInt(cursor.getString(2)));
task.setAlertDate(cursor.getString(3));
task.setAlertTime(cursor.getString(4));
task.setDueDate(cursor.getString(5));
task.setDueTime(cursor.getString(6));
task.setList(Integer.parseInt(cursor.getString(7)));
task.setStatus(Integer.parseInt(cursor.getString(8)));
task.setAlertId(Integer.parseInt(cursor.getString(9)));
conList.add(task);
} while (cursor.moveToNext());
}
return conList;
}
but I am getting list as 0. There is no dates. Maybe my query is wrong. Please help.
Aucun commentaire:
Enregistrer un commentaire