1

データベーススキーマを新しいバージョンにアップグレードしたい。その前に、まず既存のデータベースからいくつかのデータを取得する必要があります。問題は、これらを使用してデータベースを読み取ろうとした場合に発生します。

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

アップグレードされる可能性があります(でDatabaseHelper.onUpgrade())。これは、アップグレードされていない古いバージョンからいくつかのレコードを抽出したいだけなので、望ましくない動作です。DB_VERSIONで現在のバージョンを渡すことでそれができると思いますが、データベースの現在のバージョンを取得するにはどうすればよいですか(アプリ全体を次のバージョンにアップグレードしていることを忘れないでください)。

または、アップグレードを行わずにデータベースからいくつかのレコードを取得する別の方法はありますか?

4

1 に答える 1

2

SQLiteDatabase直接使用してクエリを実行し、バージョンを取得します。アップグレードやその他の変更は試みません。保護を強化するために読み取り専用で開きます:)

于 2012-07-25T09:20:18.657 に答える