【问题标题】:Android update multiple rows with different valuesAndroid用不同的值更新多行
【发布时间】:2012-11-01 23:33:16
【问题描述】:

我有一个包含 3 行 _id、名称和编号的表。我必须用不同的值更新每一行的列号。实际上我的代码是:

ContentValues values;
ContentResolver cr = getContentResolver();
int n[] = new int[10];
// functions to assign the values to n[]
for(int i=1; i<31;i++) {
    values = new ContentValues();
    values.put("number", n[i]);
    cr.update(MyProvider.CONTENT_URI_TABLE, values, "_id="+i, null);
}

通过这种方式,我必须使用大量的 UPDATE 和对数据库的多次访问。有没有办法简化程序?

【问题讨论】:

    标签: android sqlite sql-update


    【解决方案1】:

    为此,我将在 ContentResolver 上使用 applyBatch() 方法。基本上,它需要一个 ContentProviderOperation 类型的数组来指定您要更新/插入/删除的内容。

    虽然它不会简化您正在编写的代码,但它对您正在访问的内容提供程序可能是有益的。这样做的好处是内容提供者可以做一些事情,比如在事务中应用这些更新。

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 2017-05-08
      • 2016-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多