La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Gaetano Anastasi Beatrice Miotti Lorenzo Guerriero Monica Pellegrinelli Massimiliano Sartor Giorgio Macauda SQLite Esempi di utilizzo della libreria in.

Presentazioni simili


Presentazione sul tema: "Gaetano Anastasi Beatrice Miotti Lorenzo Guerriero Monica Pellegrinelli Massimiliano Sartor Giorgio Macauda SQLite Esempi di utilizzo della libreria in."— Transcript della presentazione:

1 Gaetano Anastasi Beatrice Miotti Lorenzo Guerriero Monica Pellegrinelli Massimiliano Sartor Giorgio Macauda SQLite Esempi di utilizzo della libreria in programmi C

2 SQLite: caratteristiche generali Libreria software che implementa un DBMS di tipo relazionale Non utilizzabile come processo stand-alone  Integrabile in programmi C/C++ (ed altri) tramite API;  Disponibile tramite comandi da shell. Un database creato con SQLite consiste di un solo file il cui formato è indipendente dalla piattaforma Rispetta le caratteristiche ACID delle transazioni Multipiattaforma

3 SQLite: chi la usa? E tanti altri....

4 Programmi di esempio dell' utlizzo della libreria SQLite Operazioni implementate:  creazione di una tabella  inserimento di una tupla  esecuzione di query di tipo "select all"  cancellazione di una tupla Il database di riferimento contiene per semplicità una sola tabella chiamata Reservations. Essa memorizza la banda di rete che un ipotetico programma client vuole che venga riservata durante la comunicazione con il programma server. Ipotizziamo che il client possa comunicare con un solo server alla volta, mentre ciascun server può servire più di un client. BUILD: gcc selectAll.c -lsqlite3 -o selectAll

5 SQLite - API C/C++ : Connessione al DB Nel file.c deve essere inclusa la libreria SQLite  #include Connessione al database: sqlite3_open(const char *db_name, sqlite3 **ppDb);  db_name è una stringa contenente il nome del DB,  ppDb è l'oggetto DB ritornato dalla funzione e utilizzabile in altre procedure.

6 Esempio Connessione al DB sqlite3 *db; int rc; rc = sqlite3_open("test.db", &db); if( rc ){ printf("Can't open database: %s\n", sqlite3_errmsg(db)); exit(0); }else{ printf("Opened database successfully\n"); }

7 SQLite - API C/C++ : Esecuzione di una query Esecuzione di una query: sqlite3_exec(sqlite3* db, const char *sql, sqlite_callback, void *data, char **errmsg)  sqlite3* db: oggetto DB già aperto;  const char *sql: stringa contenente la query;  sqlite_callback: funzione richiamata con void *data come primo argomento;  char **errmsg: messaggio di errore ritornato in caso di fallimento della operazione.

8 Esempio di esecuzione di una query char *sql = "CREATE TABLE COMPANY(" \ "ID INT PRIMARY KEY NOT NULL," \ "NAME TEXT NOT NULL," \ "AGE INT NOT NULL," \ "ADDRESS CHAR(50)," \ "SALARY REAL );"; int rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg); if( rc != SQLITE_OK ){ printf("SQL error: %s\n", zErrMsg); sqlite3_free(zErrMsg); }else{ printf("Table created successfully\n"); }

9 SQLite - API C/C++ : Chiusura della connessione al DB Chiusura della connessione al DB: sqlite3_close(sqlite3* db)


Scaricare ppt "Gaetano Anastasi Beatrice Miotti Lorenzo Guerriero Monica Pellegrinelli Massimiliano Sartor Giorgio Macauda SQLite Esempi di utilizzo della libreria in."

Presentazioni simili


Annunci Google