如何使用ionic在sqlite中使用默认值初始化表

时间:2017-06-07 17:02:08

标签: cordova ionic-framework sqlite phonegap

我想第一次创建一个包含n行的表。该表将在用户首次启动应用程序时创建。 稍后此表将用于检索已保存的值。稍后将不再需要更新,插入或删除查询。

我的方法就是这样。

以下代码位于app.js。

    angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ngCordova'])

    .run(function($ionicPlatform, $cordovaSQLite) {    
    $cordovaSQLite.execute(db, "CREATE TABLE IF NOT EXISTS unit (id INTEGER, icon TEXT, unit text)");
        $cordovaSQLite.execute(db, "insert into unit (id, icon, unit) values  (1, 'fa fa-inr', 'inr') ");  
                    $cordovaSQLite.execute(db, 'SELECT * from unit', []).then(function(result){
                      /*if table is empty then insert dafault data into it*/
                       if(result.rows.length == 0){ 
                        $cordovaSQLite.execute(db, "insert into unit (id, unit) values  (1, 'inr') ");
                        $cordovaSQLite.execute(db, "insert into unit (id, unit) values  (2, 'usd') ");
                        $cordovaSQLite.execute(db, "insert into unit (id, unit) values  (3, 'euro') ");
                        $cordovaSQLite.execute(db, "insert into unit (id, unit) values  (4, 'yen') ");
                       }
                    });
    })
.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider
    .state('tab', {
    url: '/tab',
    abstract: true,
    templateUrl: 'templates/tabs.html'
  })
})

但我认为,当用户启动应用程序时,此代码会执行。 有没有什么办法可以在每次用户启动应用程序时避免使用此代码?

0 个答案:

没有答案