我在更新sqlite数据库中的行时遇到问题。它运行时不会崩溃,但在sqlite数据库资源管理器中打开时,它不会反映更改。
DatabaseHandler.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);
从日志记录中我确认所有值都有效(非空)并且调用databasehandler中的更新函数。但由于某种原因,数据没有保存。