2010-12-10 4 views

cevap

1
ContentValues values = new ContentValues(); 
for(int i = 0; i<=5; i++) { 
    values.put(COLUMN_NAME, i); 
    values.put(COLUMN_NAME, 0); 
    db.insert(TABLE_NAME, null, values); 
} 
+10

bu verimli mi? Tüm satırları tek bir istekle yazamaz mısın? –

5

bulkInsert olduğunu. Eklemek için ContentValues bir dizi kaynağı sağlayacaktır. Daha fazla bilgi için Android dokümanlar bakınız:

http://developer.android.com/reference/android/content/ContentResolver.html#bulkInsert%28android.net.Uri,%20android.content.ContentValues%5B%5D%29

+0

Belgelerin şu ifadelere yer verildiğini belirtmek önemlidir: "Bu işlev, ekleme işlemlerinin atomikliği hakkında herhangi bir garanti vermez." Ancak birden fazla satır eklemek için daha iyi bir yol bulamadım. –

5

sen ancak bu blog

+2

'InsertHelper' şimdi kullanımdan kaldırıldı. –

0

Çok eski yazı kontrol inserthelper kullanabilirsiniz. Güncelleme veya ekleme gibi db'ye birden fazla çağrı yapmaya çalıştığınızda, işlemlerle sarın. Bu hızda büyük bir fark yaratacak.

db.beginTransaction(); 
try 
{ 
    while(...) 
    { 
     // .. do your inserts, updates and deletes here 
    } 

    // If successful commit those changes 
    db.setTransactionSuccessful(); 
} 
finally 
{ 
    db.endTransaction(); 
}