2

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

ロギングから、すべての値が有効 (null 以外) であり、databasehandler の更新関数が呼び出されることを確認しました。しかし、何らかの理由でデータが保存されていません。

4

0 に答える 0