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();
Но когда я получить строки, данные точно так же, как и раньше. Я уже обыскал SO, но я не мог найти ответы. Данные 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