我身邊有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