2017-03-08 87 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