2017-03-08 107 views
-3

我在我的Android應用程序中使用SQlite,任務是 - 如何更新一個表中的所有行? 我有名爲「cl_id」的第一列(整數1-2-3-4 ..),在刪除了一些行之後,我不想創建一個循環來填充第一列以保留它們按正確的順序。更新Android中的行SQlite

我試圖執行:

 data.put("cl_id",index); 
     db.update("mdb_table_contactList", data, null, null); 

但它是第一列:(

+0

更新到數據庫中的數據..你知道嗎,你是先將數據存儲在ArrayList中並將它傳遞給數據庫?我相信數據只會在第一行更新。 –

+0

在我的數據庫中,我只有2列:cl_id - 只是ID,一個接一個,phone_id - 它是Phone數據庫中聯繫人的ID(就像一個快速獲取鏈接的鏈接)。在我的片段中,我按照cl_id的順序顯示聯繫人,並根據phone_ID字段中的鏈接顯示數據。像這樣的東西.. – Eugen

+0

你爲什麼要改變ID值?如果他們改變,他們實際上並沒有識別行。 –

回答

0

要更新特定行的字段更新所有的值,試試這個;

ContentValues data = new ContentValues(); 
data.put("cl_id",index); 
db.update("mdb_table_contactList", data, "id="+_id, null); 
db.close(); 

對每一行數據都有一個主鍵是個好習慣 這裏_id是你的主鍵

+0

做到了!非常感謝!但是,我改進了一下你的想法:我正在考慮第二列的值,並要求更新原始數據的第一列,該數據已經作爲ID的第二個值,我剛剛從數據庫中獲得。所以就像循環一個一個的在原料和更新第一列。這就是我所需要的。 – Eugen