将SQLite与Phonegap桌面一起使用

时间:2016-12-04 15:41:35

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

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

SELECT s.clg, count(*) as cnt 
FROM sample s 
GROUP BY s.clg
ORDER BY cnt DESC ;

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

我尝试了这个,但它对我不起作用。

      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);
      }

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

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

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

1 个答案:

答案 0 :(得分:1)

存储使用window.openDatabase

的数据库位置

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

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

enter image description here

将SQLite与Phonegap桌面一起使用

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

有关说明,请参阅this doc page