Android Java SQLite无法更新?

我要疯了。我一直在尝试更新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,tableChat.getchatId() + " = ?",new String[]{String.valueOf(chatID)}); // tried this before didn't work either


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

}

当前最新消息的ID为5

        myDB.chat.updateLatestMessage((int) messageID,globalChatID);//calling the above DB update code

运行此代码后,最新消息的ID仍为5而不是125

我希望在已经存在的聊天行内的“ latest_message_id”列中更新messageID。

gundamblade 回答:Android Java SQLite无法更新?

如果表的名称为"chat",则WHERE子句中列的名称为"chat_id",而WHERE子句的参数为{{1} },那么推荐的更新方式是:

chatID

在语句后检查int result = db.update("chat",cv,"chat_id = ?",new String[]{String.ValueOf(chatID)}); 的值。
如果其值大于0,则说明更新成功。

本文链接:https://www.f2er.com/3127681.html

大家都在问