-1

sq-liteデータベースを使用したアプリを開発しています。私のアプリでは、ユーザーがバックアップをタップすると、sq-liteデータベースファイルが別の場所に保存されます。私は今、私のアプリの新しいバージョンを書いています、そして新しいバージョンでは私のsq-liteデータベースはいくつかのより多くのフィールドを持っています。sq-liteデータベースファイルをチェックし、そのファイルのユーザーバージョンを取得して、強制終了を回避する真のフィールドでファイルを開くにはどうすればよいですか?私のアプリから離れた新しいバージョンでは、dbバージョンは2です。

private final static String DB_NAME="cDb";
private final static String DB_TABLE="_table";
private final static int DB_VERSION=2;

しかし、古いバージョンでは、dbバージョンは1です。dbファイルがバージョン1または2用であるかどうかを確認するにはどうすればよいですか?

4

3 に答える 3

2

getVersionを使用してデータベースのバージョンを取得しますが、とにかく、データベースを開いたらすぐに、古いバージョンのonUpgradeをトリガーする必要があるかどうかを通知します。

于 2012-10-08T09:20:07.910 に答える
2

PRAGMA user_versionSQLを使用してデータベースバージョンを取得します

于 2012-10-08T09:25:32.600 に答える
0

phonegap sqlite(cordova-sqlite-storageプラグイン)では、user_versionを次のように取得できます。

db.executeSql('PRAGMA user_version', [], migrate, function(){console.log('unable to fetch user_version');});

function migrate(db, resultSet {console.log(resultSet.rows.item(0).user_version);}
于 2017-07-04T09:12:59.450 に答える