Dear Stack Overflow Community,
I have a question regarding how to incorporate a WHERE clause when querying a sql database in Android. My goal is to return specific records from my database where the date picked by a datepicker matches the date stored.
Here is my code:
private static String datePickerDate = "3/29/2011";
private static String[] FROM = { _ID, NAME, PRICE, DATE, TIME };
private static String ORDER_BY = TIME + " DESC ";
private static String WHERE = DATE + "is like " + datePickerDate;
private Cursor getEvents(){
// Perform a managed Query. The Activity will handle closing
// and re-querying the cursor when needed
SQLiteDatabase db = events.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, FROM, null, null, null, null, ORDER_BY);
startManagingCursor(cursor);
return cursor;
}
My questions are thus:
Where does my “WHERE” statement go?
And is my “WHERE” statement correct?
The documentation I found for db.query doesn’t specify if a “WHERE” clause can be used, it just specifies that a “HAVING” clause is possible, but I don’t quite think that’s what I’m wanting.
db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy)
The
selectionrepresents your WHERE clause.From the doc
So you can try this (untested):