2
我想更新我的SQLite數據庫中的一行。在我的數據庫的Helper類更新行方法如下Android SQLite更新行不起作用
public long updateNote(long rowId, String title, String body) {
ContentValues args = new ContentValues();
args.put(KEY_TITLE, title);
args.put(KEY_BODY, body);
return mDb.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId,
null);
}
而且該行被更新如下:
mDbHelper.open();
mDbHelper.updateNote(mRowId, title, body);
mDbHelper.close();
但是,當我檢索行,該數據是完全和以前一樣。我已經搜索過,但我找不到任何答案。該數據在光標retrived這樣的:
public Cursor fetchAllNotes() {
return mDb.query(DATABASE_TABLE,
new String[] { KEY_ROWID, KEY_TITLE, KEY_BODY, "link", "type",
KEY_DATE, KEY_TIME, KEY_DAY, KEY_YEAR }, null, null,
null, null, null);
}
它仍然無法正常工作。你爲什麼做'KEY_ROWID =?' – AndroidDev
使用參數化查詢更好,因爲數據庫可以優化它們以獲得更好的性能,但不會改變任何內容。 – eternay
+1它現在可以工作(被困在那裏幾天),但我必須做「rowId = rowId +1;」在ContentValues聲明之前。你應該編輯你的答案,以包括其他人,謝謝:D – AndroidDev