如何检查SqLite数据库文件并获取我定义的数据库用户版本?

时间:2012-10-08 09:09:38

标签: android sqlite

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

3 个答案:

答案 0 :(得分:2)

使用getVersion获取数据库版本,但无论如何只要在打开数据库时通知您,如果应该触发旧数据库onUpgrade

答案 1 :(得分:2)

使用PRAGMA user_version sql获取数据库版本

答案 2 :(得分: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);}