Gestire il database attraverso Javascript. Antonio Gallo

Documenti analoghi
2011 Politecnico di Torino 1

La connessione ai database MySQL tramite script PHP versione 5.5

Sistemi di Elaborazione delle Informazioni

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Soluzione esercitazione 01

Fondamenti di Informatica A. A / 1 9

DDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language)

Laboratorio di Basi di Dati

Corso di PHP. Prerequisiti. 8.1 PHP e MySQL. Conoscenza MySQL Tecnica della programmazione

Manuale SQL. Manuale SQL - 1 -

Lezione 13. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri

Lezione 12. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Connessione con MySQL

Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione

PARTITIONING PARTITIONING. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1

Interpretazione delle query nidificate

Corso base SQLite. Copyright (c) 2015 Antonio Gallo

Laboratorio di Progettazione Web

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

Laboratorio di Sistemi Informativi

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

ESERCITAZIONE: AZIENDA

Corso di Basi di Dati A.A. 2015/2016

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

Fondamenti di Informatica e Programmazione

Tabelle esempio: Impiegato/Dipartimento

Laboratorio di Basi di Dati e Multimedia

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Connessione con MySQL

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1

Tecnologie di Sviluppo per il Web

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Esercitazione 10 SQL: transazioni

SQL - Structured Query Language

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

ASP e Database. A cura di Michele Cavalieri

A. Veneziani Linguaggio SQL

Breve guida a PostgreSQL (versione per Windows) Gianluca Cima

Cap. 7 -Trigger e loro uso

VARIABILI, ASSEGNAZIONE, DECISIONI

Stringhe di caratteri

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Esercitazione: Interrogazioni SQL

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Database 2 a puntata. Pablo Genova I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S.

MY SQL Guida MySQL di base

Trigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2014/2015

Esercitazione 4: Trigger in DB2

Esercitazione 4: Trigger in DB2

Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio

Caratteristiche dei linguaggi per Database

Introduzione. i trigger rendono reattivo il comportamento del sistema alle sollecitazioni esterne.

Primo Compitino di Basi di Dati

Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata

Vincoli, procedure e regole attive in SQL. SQL: vincoli, trigger 1

Laboratorio di Basi di Dati

Gestire MySQL tramite PHP

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Basi di Dati. Esercitazione SQL. 18 maggio 2007

Metodi per la Gestione dei Dati (lezioni di laboratorio)

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

Esercitazione 4 SQL.

Corso sul linguaggio SQL

PHP ESSENTIALS #10. By WI400 Team. : database e sql

Basi di Dati: Corso di laboratorio

Progetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi

Esercitazione: Il DBMS MySQL. Insegnamento di Basi di Dati. Laurea in Ingegneria Informatica SAPIENZA Università di Roma

Introduzione a MySQL. Definizione SQL. Esempio

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

ASSISTENZA TECNICA RELAZIONE

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2016/2017

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2016/2017

Query SQL - singola tabella

NOTA TECNICA

Basi di Dati - Informatica umanistica Esercitazione (Lab)

Laboratorio di Basi di Dati

Versione 1.0. (DB Musei)

Esercitazione 4 SQL: cataloghi e viste

Silvia Chiusano, Paolo Garza 1

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

Interazione 1 linguaggio PHP con DB MySQL

IL MODELLO RELAZIONALE

Spiegazioni esercizio Gestione Tabella con PHP e MySQL

SQL: le funzioni di aggregazione

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m

Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL

file:///c:/users/andrea/appdata/local/temp/mysql-1.html

σ data 15/12/2013 data 20/12/2014

Transcript:

Gestire il database attraverso Javascript Antonio Gallo info@laboratoriolibero.com

1 Aprire il database File: 1_creazione_db.html Per aprire un database basta usare il metodo OpenDatabase: var db = window.opendatabase("note", "1.0", "Note", 200000); Richiede 4 argomenti: Il nome del database (note( la versione del database che decidete di dargli (1.0) una descrizione (Note) lo spazio che volete allocare per quel database in byte (200000) 2 Mandare una query e creare una tabella File: 2_creazione_tabella.html Per poter mandare una query al database bisogna far partire una transaction e poi eseguire il metodo executesql. Ecco il codice: var table_definition = "create table IF NOT EXISTS note ( id_n INTEGER PRIMARY KEY AUTOINCREMENT,titolo varchar(100) not null, testo text not null)"; Nel dettaglio, apro la transazione e definisco la funzione che verrà lanciata quando la transazione sarà avvenuta. A tale funzione verrà passato l'oggetto tx (variabile della transazione). Uso il metodo executesql per mandare una query al database: Dove table_definition contiene la query (di creazione della tabella)

3 Inserimento Per inserire i dati basta usare il metodo executesql : Esempio: tx.executesql("insert INTO note (titolo,testo) VALUES ('prima_nona','testo_prima_nota')"); Il metodo executesql accetta 4 parametri: La query da eseguire (opzionale) Un array di valori da passare alla query e posizionare al posto dei? (opzionale) Una funzione da esegurie se la query è andata a buone fine (opzionale) Una funzione da eseguire se la query non è andata a buon fine Esempio con array di valori: //usando un array di dati tx.executesql("insert INTO note (titolo,testo) VALUES (?,?)",[titolo,testo]); In questo caso definisco due variabili, titolo e testo, e nella query predispongo lo spazio per quei valori con due?. Poi passo come secondo argomento un array avente come elementi le due variabili create. Esempio con funzione di callback quando la query è stata eseguita: //con una funzione di callback tx.executesql("insert INTO note (titolo,testo) VALUES (?,?)",[titolo,testo], function(tx, result){ console.log("fatto"); In questo caso la funzione viene eseguita all'avvenuto inserimento. Alla funzione vengono passate due variabili, la variabile di transazione (tx) e una seconda variabile (result) che contiene i dati sul risultato della query. Per ottenre l'id dell'ultima riga inserita basta usare result.insertid come mostrato di seguito:

//con una funzione di callback tx.executesql("insert INTO note (titolo,testo) VALUES (?,?)",[titolo,testo], function(tx, result){ console.log(result.insertid); 4 Modifica ed eliminazione La modifica e l'eliminazione dei dati si eseguono esattamente come l'inserimento, con il metodo executesql. Basta usare una query update per la modifica e una query delete per l'eliminazione. tx.executesql("delete from note where id_n = 2"); oppure: tx.executesql("delete from note where id_n =?",[2]); E per la modifica: tx.executesql("update note set titolo = 'nuovo titolo' where id_n=1"); oppure: tx.executesql("update note set titolo =?, testo=? where id_n=3", ["TITOLO","TESTO"]); 5 Selezione dei dati La selezione dei dati è più complessa, ecco un esempio di codice: tx.executesql("select * from note",[], function(tx, result){ if (result!= null && result.rows!= null) { for (var i = 0; i < result.rows.length; i++) { var row = result.rows.item(i);

console.log("id: "+row.id_n + " - titolo: " + row.titolo + " - testo: " + row.testo); } } Nello specifico apro la transazione: Eseguo la query: tx.executesql("select * from note",[], function(tx, result){ In questo caso la variabile result conterrà anche i dati estratti. In particolare avrà un attributo rows di tipo array che conterrà le varie righe estratte: Posso quindi controllare che result non sia nullo e che il suo attributo rows non sia nullo: if (result!= null && result.rows!= null) { Ciclo sui vari elementi dell'array result.rows: for (var i = 0; i < result.rows.length; i++) Utilizzo il metodo item per ottenere un letterale oggetto le cui proprietà sono i campi della tabella e i cui valori sono i valori di tali campi della riga i-esima. var row = result.rows.item(i); Scrivo i valori ottenuti: console.log("id: "+row.id_n + " - titolo: " + row.titolo + " - testo: " + row.testo); 6 Eliminare una tabella Per eliminare una tabella basta usare il metodo executesql: var table_definition = "drop table note";