Sqlite And Java

Post on 13-Jun-2015

4.610 views 1 download

description

Come collegarsi al database sqlite tramite il linguaggio java

Transcript of Sqlite And Java

Lezione del Prof. Silvano NataliziDicembre 2009

Per la classe VAL - Liceo Tecnico

http://www.zentus.com/sqlitejdbc/ In questo sito c’è il driver per sqlite Si fa il download del file sqlitejdbc-v056.jar Lo si scompatta con il comando jar –xf sqlitejdbc-v056.jar

Si crea il package org.sqlite

Il package org.sqlite contiene il driver sqlite

Il package è contenuto nella sottocartella (subfolder) sqlite della cartella (folder) sqlite.

Il metodo Class.forName("org.sqlite.JDBC"); carica dinamicamente la classe JDBC durante l’esecuzione del programma.

Se la Java Virtual Machine è incapace di trovare il Driver JDBC bisogna scrivere un messaggio di errore in console ed uscire dall’applicazione

Dopo aver caricato il driver JDBC, occorre collegarsi al database con il quale si vuole lavorare:

Il codice cerca di costruire un collegamento con il metodo getConnection della classe DriverManager.

Anche in questo caso se questo tentativo non riesce occorre scrivere nella console dei messaggi di errore ed uscire dall’applicazione.

conn = DriverManager.getConnection("jdbc:sqlite:test.db");

test.db è il nome del database al quale vogliamo connetterci.

La prima fase è la costruzione di un oggetto Statement:

Statement stat=conn.createStatement();

L’oggetto Statement ha il metodo executeQuery().

Il metodo executeQuery() è progettato per eseguire del codice SQL che restituisce un risultato

Pertanto questo metodo si aspetta di eseguire una query SELECT

rs = stat.executeQuery("SELECT * from people");

L’oggetto ResultSet è simile ad un array bidimensionale

Esso è un insieme di righe contenente i dati restituiti dalla query del database

Le sue colonne sono i campi del database specificati nella select.

Se essa usa *, tutte le colonne del database sono presenti nel ResultSet

Se invece solo alcune colonne sono elencate nella select, queste appariranno nel ResultSet

ResultSet usa un cursore interno che punta ad una riga specifica del set di dati

Il cursore punta una riga alla volta Quando l’applicazione richiede i dati della

query, questi vengono restituiti riga per riga e precisamente per quella riga che ha il cursore.

ResultSet ha molti metodi per posizionare un cursore su ciascuna sua riga

next() muove il cursore sulla riga successiva

Quando il cursore punta una riga, i contenuti di ciascuna colonna sono ottenuti per mezzo dei metodi getter del tipo:

String getString(String nomeColonna)