gpt4 book ai didi

android - Android 上高效的批量 SQL 查询执行,用于升级数据库

转载 作者:IT王子 更新时间:2023-10-29 06:24:57 26 4
gpt4 key购买 nike

正如我们 Android 开发人员所知,SQLiteDatabase execSQL 方法只能执行一条语句。

文档说:

Execute a single SQL statement that is not a query. For example, CREATE TABLE, DELETE, INSERT, etc. Multiple statements separated by ;s are not supported.

我必须加载一批记录,1000 条并且还在增加。
我如何有效地插入这些?
使用您的 apk 交付这些 SQL 的最简单方法是什么?

我提到,已经有一个系统数据库,我将在 onUpdate 事件上运行它。

到目前为止我有这段代码:

List<String[]> li = new ArrayList<String[]>();
li.add(new String[] {
"-1", "Stop", "0"
});
li.add(new String[] {
"0", "Start", "0"
});
/* the rest of the assign */
try {
for (String[] elem : li) {
getDb().execSQL(
"INSERT INTO " + TABLENAME + " (" + _ID + "," + NAME + "," + PARSE_ORDER
+ ") VALUES (?,?,?)", elem);
}
} catch (Exception e) {
e.printStackTrace();
}

最佳答案

How do I insert these efficiently?

使用交易:

    db.beginTransaction();
try {
for(;;) {
db.execSQL(...);
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}

关于android - Android 上高效的批量 SQL 查询执行,用于升级数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2876236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com