2012-11-13 46 views
2

我有一個包含3行_id,名稱和編號的表。我必須用不同的值更新每一行的列號。 Actualy my code is:Android更新具有不同值的多行

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和多次訪問數據庫。有一種方法來確定程序嗎?

回答

6

對於這一點,我會用在ContentResolver的的applyBatch()方法。基本上,它需要一個ContentProviderOperation類型的數組,指定您要更新/插入/刪除的內容。

雖然它不會簡化你寫的代碼,它可以爲您正在訪問的內容提供商受益。這裏的好處是內容提供者可以做一些事情,比如在事務中應用這些更新。

+0

非常感謝!!!我不知道applyBatch()方法,現在我去試試 – crbin1

相關問題