Errors using the ngCordova $cordovaSQLite plugin


#1

I am currently trying to implement the ngCordova SQLite plugin with my app but have yet to produce a working solution. I have followed Nic Raboy’s blog post on how to implement the SQLite plugin with your Ionic project to a “T,” but I am still receiving the error: Error: undefined is not an object (evaluating ‘$window.sqlitePlugin.openDatabase’) when I try to run the application in the iOS emulator.

I have also verified that ngCordova and the plugin have been loaded into my project.

My code is below.

app.js

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

.run(function($ionicPlatform, $cordovaSQLite) {
    $ionicPlatform.ready(function() {
        if(window.cordova && window.cordova.plugins.Keyboard) {
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
        }
        if(window.StatusBar) {
            StatusBar.styleDefault();
        }

        db = $cordovaSQLite.openDB({ name: 'accounts.db' });
        $cordovaSQLite.execute(db, 'CREATE TABLE IF NOT EXISTS accounts (id integer primary key autoincrement, firstname text, lastname text, paid numeric, date text)');
    });
})

controllers.js

angular.module('whoPaidLast.controllers', [])

.controller('DashCtrl', ['$ionicPlatform', '$scope', '$ionicModal', '$ionicActionSheet', '$cordovaSQLite', function ($ionicPlatform, $scope, $ionicModal, $ionicActionSheet, $cordovaSQLite) {
	
	$scope.getList = function() {
		var query = 'SELECT id, firstname, lastname, paid, date FROM accounts ORDER BY lastname ASC';
		var db = $cordovaSQLite.openDB({ name: 'accounts.db' });

		$ionicPlatform.ready(function() {
			$cordovaSQLite.execute(db, query, [id, firstname, lastname, paid, date]).then(function(result) {
				if(result.rows.length > 0) {
					console.log('rows =' + result.rows);
				} else {
					$scope.results = [];
				}
			}, function(error) {
				console.error(err);
			});
		});
	};
});

#2

Have a look at: https://gist.github.com/borissondagh/29d1ed19d0df6051c56f
It seems to be working. I have not tested myself. Planning to do that today.


#3

Tested and it works!


#4

Hi! Do you have this code? the page doesn’t work. Thanks