-1

我正在开发一个使用 sq-lite 数据库的应用程序。在我的应用程序中,当用户点击备份我的 sq-lite db 文件保存在另一个地方时。我现在编写了我的应用程序的新版本,在新版本中,我的 sq-lite db 有更多字段。如何检查 sq-lite 数据库文件并获取该文件的用户版本以使用真实字段打开它以避免强制关闭?在我的应用程序的新版本中,数据库版本为 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

使用PRAGMA user_versionsql获取数据库版本

于 2012-10-08T09:25:32.600 回答
2

使用getVersion获取数据库版本,但无论如何只是为了让您在打开数据库后立即知道它是否应该触发旧的onUpgrade 。

于 2012-10-08T09:20:07.910 回答
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 回答