2015-07-10 85 views
-1

我得到了三行sqlite数据库 KEY_ID =“id”; KEY_NAME =“名称”; KEY_IMAGE =“图片”; 我DataBaseHandler.class更新的代码如下所示:更新sqlite更新特定行

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

     } 
    }); 

它上面这段代码将更新的第一条记录(名)“测试”,但删除的图像..

我会感谢您的帮助......

+0

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

+0

感谢队友,修复了 – Riz

+1

'我有sqlite数据库三行'。 **没有**。你在每一行都有三列**列**。而**行的“不确定数量”** –

回答

1

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

+0

OP实际上并没有提出问题,但如果他有,那将是“如何在保留旧图像的同时更新该行?” –