2016-11-23 42 views
0

我已经写在我的控制器

$scope.$on('$ionicView.afterEnter', function(event, data){ 
     var db = null; 
     db = $cordovaSQLite.openDB({ name: 'app.db' }); 
     $cordovaSQLite.execute(db,"CREATE TABLE IF NOT EXISTS people (id integer primary key, firstname text, lastname text)"); 
}); 

下,我也在我的项目安装sqlite的插件。

但每当我运行我的控制器,我正在刚开错误$cordovaSQLite is not defined

回答

1

要验证,无论是Javascript和sqlite的插件的本地部分安装在您的应用程序:

window.sqlitePlugin.echoTest(successCallback, errorCallback); 

监听onDeviceReady事件,然后使用sqlite。在运行功能

document.addEventListener("deviceready", yourCallbackFunction, false); 
function yourCallbackFunction() 
{ 
    // Sqlite API implementation here 
} 
+0

ü可以显示如何做到这一点? – lakshay

+0

@lakshay:请检查我编辑的答案。 – Sagar

+0

你也可以告诉我我注册我的sqlite插件除了.run()在我的app.js文件中的任何地方。 – lakshay

0

使用下面的命令来安装插件源码,

科尔多瓦插件添加 https://github.com/litehelpers/Cordova-sqlite-storage.git

然后在app.js页,申报$ cordovaSQLite &添加你的db代码,

.run(function($ionicPlatform,$cordovaSQLite,$timeout,$ionicLoading, $cordovaDialogs){ 
     var db = null; 
     db = $cordovaSQLite.openDB({ name: 'app.db',location:1});  
     $cordovaSQLite.execute(db,"CREATE TABLE IF NOT EXISTS people (id integer primary key, firstname text, lastname text)"); 

    }) 

希望这会有助于!

0

在.RUN功能,你应该初始化数据库等为:

  if (window.cordova) { 
       // App syntax 
       self.db = window.sqlitePlugin.openDatabase(CONFIG.DB_NAME); 
      } else if (window.openDatabase) { 
       self.db = window.openDatabase(CONFIG.DB_NAME, '1.0', 'database', -1); 
      }