更新sqlite更新特定行

时间:2015-07-10 23:16:32

标签: android sqlite

我有三行的sqlite数据库 KEY_ID =“id”; KEY_NAME =“姓名”; KEY_IMAGE =“图片”; 我的DataBaseHandler.class更新代码如下所示:

    // Updating single contact
    public int updateContact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName());
    values.put(KEY_IMAGE, contact.getImage());

    // updating row
    return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
            new String[] { String.valueOf(contact.getID()) });

}

我的仅更新代码(名称)没有图片:

        @Override
        public void onClick(View v) {

            DataBaseHandler db = new DataBaseHandler(
                    SQLiteDemoActivity.this);

            db.updateContact(new Contact(1, "Test", null));

        }
    });

上面的代码会将第一条记录(名称)更新为“测试”但删除图像..

我将非常感谢你的帮助......

1 个答案:

答案 0 :(得分:1)

我可以假设,在构造函数new Contact(1, "Test", null)中,最后一个arg代表图像,并且是null。这就是为什么ContentValues values变量也包含图像键的空值