在我的应用程序中我正在使用SQLite数据库。此数据库由DBHelper类创建,如果尚未创建的话。
最初我需要一张大约30行的表。填写数据的最佳做法是什么?这是我的代码。它工作得很好,但我认为有更好的方法吗?
user_birthday
答案 0 :(得分:3)
您可以尝试以下方法。
ContentValues values=new ContentValues();
values.put(1, "test1");
db.insert("table_name", null, values);
values.put(2, "test2");
db.insert("table_name", null, values);
values.put(3,"test3");
db.insert("table_name", null, values);
values.put(4,"test4");
db.insert("table_name", null, values);
...
了解更多详情,请查看这些链接
http://mrbool.com/how-to-insert-data-into-a-sqlite-database-in-android/28895
答案 1 :(得分:2)
由于您要求最佳实践,我正在引用此答案
您应该使用statements
database.beginTransaction();
SQLiteStatement stmt = database.compileStatement(sql);
for (int i = 0; i < NUMBER_OF_ROWS; i++) {
//generate some values
stmt.bindString(1, randomName);
stmt.bindString(2, randomDescription);
stmt.bindDouble(3, randomPrice);
stmt.bindLong(4, randomNumber);
long entryID = stmt.executeInsert();
stmt.clearBindings();
}
database.setTransactionSuccessful();
database.endTransaction();
Reference
这里是one more link,其中给出了这两种插入方法之间的比较。 (对于100条记录,正常插入需要1657毫秒,而endTransaction()
的语句需要92毫秒)