2

我在更新 sqlite 数据库中的行时遇到问题。它运行时不会崩溃,但在 sqlite 数据库资源管理器中打开时,它不会反映更改。

数据库处理程序.java

public void editContact(int contactId, String name, String relationship, String photoPath,String lifeline,String phoneNumber) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(KEY_NAME, name); // Contact Name
    values.put(KEY_RELATIONSHIP, relationship); //Contact Relationship
    values.put(KEY_PHOTO_PATH, photoPath); //Contact Photo File Path
    values.put(KEY_LIFELINE, lifeline); // Contact Lifeline
    values.put(KEY_PH_NO, phoneNumber); // Contact Phone Number
    String strFilter = "_id=" + contactId;
    Log.d("UserLog","newname=" + values.getAsString(KEY_NAME));
    db.update(TABLE_CONTACTS, values, strFilter, null);
    db.close(); // Closing database connectionString
}

然后我在其他地方调用更新函数

db.editContact(contactId2, VALUE_NAME, VALUE_RELATIONSHIP, VALUE_PHOTO_PATH, lifelineToggleds, VALUE_PH_NO);

从日志中我确认所有值都是有效的(非空),并且调用了数据库处理程序中的更新函数。但由于某种原因,数据没有保存。

4

0 回答 0