我正在尝试更新SQLite数据库中的一行。我的Database Helper类中的更新行方法如下
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();
但是当我检索行时,数据与之前完全相同。我已经搜索过SO,但我找不到任何答案。数据将在以下游标中重试:
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);
}
答案 0 :(得分:4)
尝试更改方法,如:
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 + "=?",
new String[]{rowId+""});
}
希望这有效。