Android Java SQLite没有更新



我快疯了。我一直在尝试更新我的SQLite数据库中的一行中的一列,但无论我尝试什么,它都不会发生。该值从未更新,在我的日志中也没有异常。

下面的代码可能最能概括我的问题。CCD_ 1函数是数据库控制器类的一部分。

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());
}
}

当前最新消息的ID为5

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

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

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

如果表的名称是"chat"WHERE子句中的列的名称是"chat_id",而WHERE子句的参数是chatID,则建议的更新方式是:

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

在语句之后检查result的值
如果其值大于0,则更新成功。

最新更新