android - 如何获取数据库模式的版本?

标签 android database sqlite sqliteopenhelper

我想将数据库架构升级到新版本。在我这样做之前,首先我需要从现有数据库中获取一些数据。问题是如果我尝试用这些读取数据库:

DatabaseHelper dbHelper = new DatabaseHelper(context, DB_VERSION);
SQLiteDatabase database = dbHelper.getReadableDatabase();

它可能会被升级(在 DatabaseHelper.onUpgrade() 中),这是一种不需要的行为,因为我只想从旧的、未升级的版本中提取一些记录。我想我可以通过在 DB_VERSION 中传递当前版本来做到这一点,但是我如何才能获得数据库的当前版本(记住,我正在将整个应用程序升级到下一个版本)?

或者是否有另一种方法可以在不导致升级的情况下从数据库中获取一些记录?

最佳答案

直接使用SQLiteDatabase,执行查询得到版本。它不会尝试升级或以其他方式修改它。以只读方式打开以获得额外保护:)

关于android - 如何获取数据库模式的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645491/

相关文章:

java - 为什么我的 RadioGroup 返回 'false'

java - 应用程序 :dexDebug error in Android Studio

database - 删除一行后 MySQL 出错(错误 1194)

c# - 在 C# winforms 应用程序中使用 SQLite - 一些基本问题?

sqlite 选择 where...and vs. case...when

android - 列表<字符串> log = new ArrayList<字符串>();

java - +1 按钮的应用 URL

sql - postgres - 在同一列上删除多个表(在每个表中)

c# - 从流中播放 MP3

android - SQLITE3 和 Android 中的 rowid