我身边有30
记录到SQLite的表,其中10
记录属于从在线源和休息20
记录属于从离线源。现在SQLite的where子句问题
,我想一切从Online
属于源的records
,为我写了这个:
String sQuery = "SELECT * FROM " + TABLE_REMINDERS + " where " + KEY_SOURCE + " = 'Online'";
但是,通过使用上面的查询,我让所有的记录可用在数据库中,无论从何处它离线或在线
所以我错了,为什么我不能得到属于来源'Online
'的数据只有
而,我从属于source 'Online'
表中使用下面的查询delete data
和它的作品对我来说:
db.execSQL("delete from "+ TABLE_REMINDERS + " where " + KEY_SOURCE + " = 'Online'");
代码
public List<Reminder> getAllOnlineReminders(){
// String selectQuery = "SELECT * FROM " + TABLE_REMINDERS + " where " + KEY_SOURCE + " = 'Online'";
String[] args = new String[]{"Online"};
List<Reminder> reminderList = new ArrayList<>();
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_REMINDERS + " WHERE " + KEY_SOURCE + "=?", args);
// Cursor cursor = db.rawQuery(selectQuery, null);
// Looping through all rows and adding to list
if(cursor.moveToFirst()){
do{
Reminder reminder = new Reminder();
reminder.setID(Integer.parseInt(cursor.getString(0)));
reminder.setTitle(cursor.getString(1));
reminder.setmSource(cursor.getString(2));
// Adding Reminders to list
reminderList.add(reminder);
} while (cursor.moveToNext());
}
return reminderList;
}
但还是让所有的记录,而我只是想获得属于来源'在线'的记录
你检查了你的数据库记录吗?我怀疑所有记录都有在线作为源 –
发布您的表结构。 –
是否有重复的条目? – Piyush