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實際上並沒有提出問題,但如果他有,那將是「如何在保留舊圖像的同時更新該行?」 –