0

我需要更新我的数据库,List其中每个元素的名称是WHERE子句,值是要写入满足WHERE子句的行的新值。但是所有的WHERE子句都是不同的,并且具有不同的值。为了更清楚,我将举一个例子:

"robin":"25" "charles":"31" "megan":"27"

名称(robin、charles、megan)是WHERE子句,数字(25、31、27)是值。那么如何SQLite使用这些值有效地更新我的数据库呢?

现在我正在使用这个算法,但我相信它会给系统带来巨大的开销:

ContentValues values = new ContentValues();
for (int i = 0; i < counts.size(); i++) {
    values.put(MyDatabaseHelper.MyTable.COLUMN_NAME_NUMBER, counts.get(i).getValue());
    String whereClause = MyDatabaseHelper.MyTable.COLUMN_NAME_NAME
            + " = " + counts.get(i).getName();
    rowsAffected += db.update(MyDatabaseHelper.MyTable.TABLE_NAME,
            values, whereClause, null);
}

counts我的List<NameValuePair>对象在哪里。

4

0 回答 0