android studio中如何实现外部sqlite数据库的批量插入,给出示范
时间: 2023-04-07 07:02:01 浏览: 191
你可以使用 Android 中的 SQLiteDatabase 类来实现外部 SQLite 数据库的批量插入。以下是一个示例代码:
```java
// 打开外部数据库
SQLiteDatabase externalDB = SQLiteDatabase.openDatabase("/sdcard/mydatabase.db", null, SQLiteDatabase.OPEN_READONLY);
// 打开内部数据库
SQLiteDatabase internalDB = getWritableDatabase();
// 查询外部数据库中的数据
Cursor cursor = externalDB.rawQuery("SELECT * FROM mytable", null);
// 开始批量插入
internalDB.beginTransaction();
try {
while (cursor.moveToNext()) {
// 从外部数据库中读取数据
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
// 插入到内部数据库中
ContentValues values = new ContentValues();
values.put("id", id);
values.put("name", name);
values.put("age", age);
internalDB.insert("mytable", null, values);
}
internalDB.setTransactionSuccessful();
} finally {
internalDB.endTransaction();
}
// 关闭游标和数据库连接
cursor.close();
externalDB.close();
internalDB.close();
```
在上面的代码中,我们首先打开外部数据库,然后查询其中的数据。接着,我们打开内部数据库,并使用 `beginTransaction()` 方法开始一个事务。在事务中,我们循环读取外部数据库中的数据,并将其插入到内部数据库中。最后,我们使用 `setTransactionSuccessful()` 方法标记事务成功,并使用 `endTransaction()` 方法结束事务。最后,我们关闭游标和数据库连接。
阅读全文