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

时间:2012-07-25 08:20:49

标签: android database sqlite sqliteopenhelper

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

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

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

或者是否有其他方法可以从数据库中获取某些记录而不会导致升级?

1 个答案:

答案 0 :(得分:2)

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