Я схожу с ума здесь. Я пытался обновить один столбец в одной строке в моей базе данных SQLite, но это просто не происходит независимо от того, что я пытаюсь. Значение никогда не обновляется, и в моем журнале нет исключений.
Приведенный ниже кодмог бы суммировать мою проблему лучше всего. функция updateLatestMessage()
является частью класса контроллера базы данных.
public void updateLatestMessage(int messageID, int chatID){
Log.d("DB", "message ID =" + messageID); //example output = 125
Log.d("DB", "chat ID =" + chatID); //example output = 2
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues cv = new ContentValues();
cv.put("latest_message_id", messageID);
db.update("chat", cv, "chat_id = ?" + chatID, null);
db.close();
//db.update(tableChat.TABLE_NAME, cv, tableChat.getChatId() + " = ?", new String[]{String.valueOf(chatID)}); // tried this before didn't work either
}
catch(Exception e) {
Log.d("DB", "Error: "+e.toString());
}
}
текущее последнее сообщение имеет идентификатор 5
myDB.chat.updateLatestMessage((int) messageID, globalChatID);//calling the above DB update code
после запуска этого кода последнее сообщение все еще имеет идентификатор5 вместо 125
Я ожидаю обновления messageID внутри столбца latest_message_id внутри моей уже существующей строки чата.