从离子化的预先填充的数据库文件中读取数据

时间:2016-03-29 04:27:52

标签: angularjs sqlite ionic-framework

我是离子框架的新手。我正在从ionic中填充的数据库文件中读取数据。数据库文件是json格式。在json文件中我的数据库名称,表名和数据可用。如何使用ionic

中的angularjs从此数据库文件中读取数据

我遵循了本教程:https://www.thepolyglotdeveloper.com/2015/01/deploy-ionic-framework-app-pre-filled-sqlite-db/

JS

这是我的 controller.js

var db;
angular.module('starter', ['ionic', 'starter.controllers', 'ngCordova'])
    .run(function ($ionicPlatform, $cordovaSQLite) {`enter code here`
        $ionicPlatform.ready(function () {
            if (window.cordova && window.cordova.plugins.Keyboard) {      
                cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
                cordova.plugins.Keyboard.disableScroll(true);
            }
            if (window.StatusBar) {
                StatusBar.styleDefault();
            }

            window.plugins.sqlDB.copy("gr.json", function() {
                db = $cordovaSQLite.openDB("grocery.db");
              }, function(error) {
                console.error("There was an error copying the database: " + error);
                db = $cordovaSQLite.openDB("grocery.db");
            });

        });
    })

这是我的数据库文件 gs.json ,我使用sqlite studio.i生成了这个文件,添加了一些行。我想阅读这些添加的行。

angular.module('starter.controllers', [])
    .controller("ExampleController", function ($scope, $cordovaSQLite) {
        $scope.selectAll = function(){
            var query = "SELECT * FROM grocery1";
            $cordovaSQLite.execute(db, query, []).then(function(res) {
                if(res.rows.length > 0) {
                    alert("in query");
                    for(var i = 0; i < res.rows.length; i++) {
                    }
                } else {
                    alert("no response");
                }
            }, function (err) {
                alert("Error");
        });
    };
});

请帮我看看如何从这个文件中读取数据。我收到错误警报。光标未进入执行功能。还有其他方法可以从离子数据库文件中读取数据吗?

1 个答案:

答案 0 :(得分:0)

在我的一个项目中,我使用了这个插件,并且它也在prod app中顺利运行。有可能试试吗? https://github.com/an-rahulpandey/cordova-plugin-dbcopy/blob/master/plugin.xml