Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

SQLite

Far persistere i dati dell'app su un database SQLite, ideale per lavorare in assenza di connessione
Far persistere i dati dell'app su un database SQLite, ideale per lavorare in assenza di connessione
Link copiato negli appunti

Grazie al servizio $cordovaSQLite possiamo gestire un database SQLite sfruttando il relativo plugin di Cordova. Il comando per l'installazione del plugin è mostrato di seguito:

ionic plugin add cordova-sqlite-storage

Sfruttando questo servizio possiamo accedere ad un database SQLite ed eseguire query in modo abbastanza semplice. Il seguente codice mostra un esempio di uso del servizio:

$ionicPlatform.ready(function() {
	var db = $cordovaSQLite.openDB({name: "myDB.db"});
	var sql = "SELECT nome, cognome FROM clienti WHERE cognome = ?"; 
	$cordovaSQLite.execute(db, sql, ["Rossi"])
		.then(function(result) {
				if (result.rows.length > 0) {
					$scope.clienti = result.rows;
				} else {
					console.log("Nessun cliente individuato.");
				}
			},
			function(err) {
				console.error("Errore nella ricerca di clienti.");
			});
});

Come possiamo vedere dal codice, il primo passo consiste nell'accedere al database tramite il metodo openDB(). Questo metodo restituisce un oggetto che rappresenta il nostro database.

Questo oggetto verrà utilizzato ogni qualvolta dobbiamo eseguire una query tramite il metodo execute(). Nel nostro esempio, abbiamo eseguito una SELECT con un parametro per estrarre l'elenco dei record di una tabella clienti il cui campo cognome è uguale a Rossi.

Il risultato è rappresentato da un oggetto la cui proprietà rows rappresenta l'elenco dei record individuati dall'esecuzione della query.

Naturalmente oltre ad una SELECT possiamo eseguire anche altri tipi di query, come mostra il seguente esempio:

$ionicPlatform.ready(function() {
	var db = $cordovaSQLite.openDB({name: "myDB.db"});
	var sql = "INSERT INTO clienti (nome, cognome) VALUES (?, ?)"; 
	$cordovaSQLite.execute(db, sql, ["Mario", "Rossi"])
		.then(function(result) {
				console.log("Record inserito.");
			},
			function(err) {
				console.error("Errore nell'inserimento di un cliente.");
			});
});

Per l'uso avanzato del plugin e per il supporto delle varie funzionalità sulle diverse piattaforme è opportuno consultare direttamente la pagina web del progetto.

Ti consigliamo anche