Если вы измените формат столбца DUE_DATE
на YYYY-MM-DD
, который является единственным сопоставимым форматом для SQLite, тогда все, что вам нужно, это предложение BETWEEN
и передать все аргументы в виде массива строк, что является рекомендуемымсамый безопасный способ избежать любого риска внедрения SQL:
Cursor cursor = db.rawQuery(
"SELECT * FROM " + ConsumerEnquiryTable.TABLE_NAME + " WHERE " +
ConsumerEnquiryTable.Cols.USER_LOGIN_ID + " = ? AND (" +
ConsumerEnquiryTable.Cols.DUE_DATE + " BETWEEN ? AND ?) AND " +
ConsumerEnquiryTable.Cols.CARD_STATUS + " = ?",
new String[] {userId, beginDate, endDate, jobCardStatus}
);
Конечно, аргументы beginDate и endDate также должны быть в формате YYYY-MM-DD
.