在phonegap android

时间:2016-01-08 09:21:08

标签: android database sqlite cordova

我有一个sqlite数据库test_db.db我保存在www文件夹中我使用cordova cli在我的本地机器上构建android应用程序。

当我尝试打开数据库时,它正在打开新数据库而不是访问预先填充的数据库。

我使用以下代码对此进行了测试。

// Open the existing database 

var db = window.sqlitePlugin.openDatabase({ name : "test_db.db" });

db.transaction(function (tx) {

   alert("database opened");

   var _strQuery = "select * from mst_users;";

   tx.executeSql(_strQuery, [], function (tx, res) {

      alert("Populated Successfully with " + res.rows.length + " Records.");

   }, CommonError);

}, CommonError, DoNothing);

每次我收到一个错误,表mst_users不存在,但它在预先填充的数据库中存在。

我已经尝试过各种各样的事情来实现这一目标但却被激怒了。我想访问预填充数据库中的数据。

真的很感激任何帮助..

2 个答案:

答案 0 :(得分:1)

要在cordova项目中打开预先填充的数据库,您需要执行3个步骤:

  1. 将.db文件复制到主www目录

    安装this插件并使用copy方法(这将复制.db文件 到你的操作系统/设备的指定目录)

    使用this插件打开.db文件

  2. 多数民众赞成......:)

答案 1 :(得分:0)

你好我得到了这个问题的解决方案。

在后续代码中打开数据库时

var db = window.sqlitePlugin.openDatabase({name:" test_db.db"});

添加像这样的参数

var db = window.sqlitePlugin.openDatabase({name:" test_db.db",createFromLocation:1});

然后它将保存在www文件夹中的数据库。