使用 ormlite 库以编程方式擦除 sqlite 数据库的数据

2022-09-04 00:38:14

我正在寻找一种方法来擦除ormlite数据库的所有数据,或者在android上使用ormlite删除数据库(然后重新创建它)。

此时,我只能更改数据库助手DATABASE_VERSION。

但是我必须编译应用程序。

有人知道处理这种情况的方法吗?


答案 1

我正在寻找一种方法来擦除ormlite数据库的所有数据,或者在android上使用ormlite删除数据库(然后重新创建它)。

@Julia的答案会很好。ORMLite 还支持 TableUtils.clearTable() 方法调用,该调用从表中删除所有行:

这不会清除数据库,但您可以依次清除每个表。如下所示:

TableUtils.clearTable(getConnectionSource(), YourClassHere.class);

编辑:

@max4ever指出,context.deleteDatabase(...) 比其他清除数据库的方法快得多。但此调用将删除表定义,同时保持架构不变。TableUtils.clearTable(...)


答案 2

您可以致电

context.deleteDatabase(DATABASE_NAME);

在你的类中,它扩展了 . 传递给构造函数中的类。DatabaseHelperOrmLiteSqliteOpenHelpercontextDatabaseHelper

下次需要数据库时,将重新创建该数据库,然后

@Override
public void onCreate(SQLiteDatabase sqliteDatabase, ConnectionSource connectionSource)

被调用。


推荐