【问题标题】:Using SQLite with Phonegap Desktop将 SQLite 与 Phonegap 桌面结合使用
【发布时间】:2017-04-19 00:35:37
【问题描述】:

我正在 phonegap 中打开一个 SQLite 数据库。 这是我的 javascript 代码:

      var myDB = null;

      function onDeviceReady()
      {            

        myDB = window.openDatabase("test", "1.0", "Test DB", 1000000);
        //myDB = window.sqlitePlugin.openDatabase({name: 'test.db', location: 'default'});


        alert("yal");


        myDB.transaction(PopulateDatabase,errorDB,successDB);
        myDB.transaction(queryDB, errorCB, querySuccess);

     }

      function PopulateDatabase(tx)
      {
        tx.executeSql('DROP TABLE IF EXISTS DEMO');
        tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
      }

      function errorDB(error)
      {
        alert("Error on Database creation : " + error);
      }

      function successDB()
      {
        alert("Database is created successfully");
      } 

      function queryDB(tx) {
        tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
      }

      function querySuccess(tx, results) {
         var len = results.rows.length;
         alert("DEMO table: " + len + " rows found.");
         for (var i=0; i<len; i++){
         alert("Row = " + i + " ID = " + results.rows.item(i).id + " Data =  " + results.rows.item(i).data);
}
        alert("success");
      }

      function errorCB(err) {
        alert("Error processing SQL: "+err.code);
      }

这是工作,我可以从我的数据库中获取数据。 我的问题是我无法在我的计算机上找到我的数据库。 谁能告诉我在哪里可以找到它?

我试过了,但它对我不起作用。

myDB = window.sqlitePlugin.openDatabase({name: 'test.db', location: 'default'});

我正在使用 cordova-sqlite-storage 插件。

这是我项目的 config.xml 文件:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.phonegap.helloworld" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
<name>yal</name>
<description>
    A blank PhoneGap app.
</description>
<author email="support@phonegap.com" href="http://phonegap.com">
    PhoneGap Team
</author>
<content src="index.html" />
<access origin="*" />
<plugin name="cordova-sqlite-ext" spec="~0.10.2" />

【问题讨论】:

  • 您需要告诉我们更多有关您项目设置的信息
  • 我编辑了我的帖子。我添加了项目的config.xml文件。
  • 您使用哪些命令来构建和部署应用程序?
  • 我正在使用 phonegap 桌面。我只是打开 localhost:port 来查看我的应用程序。

标签: sqlite cordova phonegap-plugins phonegap-desktop-app


【解决方案1】:

使用window.openDatabase的数据库存储位置

当使用window.openDatabase 时,您使用“Web SQL”。此功能由浏览器直接提供。数据的存储位置取决于您使用的浏览器。默认情况下,Web SQL 中可用的存储空间是有限的。根据您使用的浏览器,您可以增加允许的存储空间量。

例如,在 Chrome 中,您可以通过开发者工具访问数据库:


在 Phonegap 桌面上使用 SQLite

使用 SQLite 不适用于您当前使用的设置。在普通浏览器中打开 Phonegap Desktop 提供的应用程序时,您无权访问本地计算机/设备。为了使用需要访问设备的插件,您必须在移动设备的“Phonegap Developer App”中打开Phonegap Desktop提供的应用程序。

有关说明,请参阅 this doc page

【讨论】:

    猜你喜欢
    • 2017-01-28
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    相关资源
    最近更新 更多