Обновление Integer не работает - почему так? - PullRequest
0 голосов
/ 05 февраля 2020

это очень странно. Я уже давно пытаюсь решить эту проблему. Я пытаюсь сделать что-то очень простое, обновить идентификатор сообщения в существующей записи таблицы чата.

проверить код

public int updateLatestMessage(int messageID, int chatID){

    Log.d("DB", "messageid =" + messageID);  // messageID = 175
    Log.d("DB", "chatid =" + chatID); // chatID = 5

    testUpdate(chatID); // Testing if this Updates and it does update

    SQLiteDatabase db = this.getWritableDatabase();

    try {
        ContentValues cv = new ContentValues();
        cv.put("last_message_id", messageID);

        int result = db.update("chat", cv, "chat_id = ?", new String[]{String.valueOf(chatID)});
        db.close();
        return result;

    }
    catch(Exception e) {
        Log.d("DB", "Error: "+e.toString());
        return 0;
    }

}

функция возвращает 1, что означает, что все обновлено правильно. Но идентификатор сообщения по-прежнему равен 10, как это было раньше, вместо 175.

в функции обновления, я запускаю другую функцию обновления для проверки работоспособности, которая выглядит следующим образом:

public void testUpdate(int chatID){

    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues cv = new ContentValues();
    cv.put("chat_description", "Will this String Update");

    db.update("chat", cv, "chat_id = ?", new String[]{String.valueOf(chatID)});
    db.close();
    return;


}

теперь это корректно обновляет строку «Будет ли это обновление строки».

Насколько я могу судить, единственное отличие состоит в том, что идентификатор сообщения, которое я пытаюсь обновить и не могу сделать, является целым числом. При успешном обновлении testUpdate с обновлением "chat_description" отображается строка.

Чего мне не хватает?

Ошибка должна быть в примере кода, который я предоставил, потому что я регистрирую результат непосредственно до и после функций обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...