Utilizzo dei database SQLite
Dopo la creazione di un database SQLite, è possibile utilizzare le istruzioni SQL per eseguire operazioni quali l'aggiunta e il recupero di dati e la modifica del database.
L'elenco di istruzioni SQL supportate e la loro sintassi è disponibile sul sito www.SQLite.org. L'API Database non supporta FTS2 e RTREE.
Esistono due modi per eseguire le istruzioni: creare un oggetto Statement oppure utilizzare Database.executeStatement.
Esecuzione delle istruzioni con un oggetto Statement
I passaggi seguenti delineano come eseguire le istruzioni con un oggetto Statement:
- Creare un oggetto Statement tramite il metodo Database.createStatement.
- Preparare l'esecuzione dell'istruzione richiamando il metodo Statement.Prepare.
- Parametri di associazione nell'istruzione. Si tratta di un'opzione facoltativa, ma consente di migliorare le prestazioni quando si esegue l'istruzione più volte.
- Eseguire l'istruzione.
Se è probabile che l'istruzione restituisca risultati (ad esempio, un'istruzione SELECT), eseguirla richiamando Statement.getCursor, che restituisce un oggetto Cursor.
- Se l'istruzione non restituisce un insieme di risultati, eseguirla richiamando uno dei metodi seguenti:
- Statement.executeUpdate: utilizzare questo metodo durante l'aggiornamento dei dati (tramite un'istruzione UPDATE) e l'esecuzione dell'istruzione più volte con parametri di associazione.
- Statement.executeInsert: utilizzare questo metodo durante l'inserimento dei dati (tramite un'istruzione INSERT) e l'esecuzione dell'istruzione più volte con parametri di associazione.
- Statement.execute: utilizzare questo metodo quando si desidera utilizzare parametri di associazione.
- Se l'istruzione restituisce un insieme di risultati, recuperare l'insieme di risultati reiterando il cursore restituito riga per riga. Eseguire questa operazione utilizzando l'interfaccia Cursor, che funziona in tutte le circostanze ma è valida solo per l'inoltro. Per il movimento bidirezionale del cursore, ma solo per insiemi di risultati di piccole dimensioni, utilizzare la classe BufferedCursor.
Nell'esempio seguente, vengono aggiornate le righe:
Statement st = d.createStatement("UPDATE Account set Balance = ? WHERE AcctNo > ?");
try
{
st.prepare();
Object[] bindParams = {new Integer (2000), new Integer (100)};
st.executeUpdate(bindParams);
}
finally
{
st.close();
}
Esecuzione delle istruzioni senza un oggetto Statement
Quando si esegue una query che non restituisce un insieme di risultati e non si utilizzano parametri di associazione, non è necessario creare un oggetto Statement. Al contrario, è possibile utilizzare Database.executeStatement, che esegue la preparazione, l'esecuzione e la chiusura di un'istruzione in una singola chiamata.
Nell'esempio seguente, viene creata una tabella:
Database d = null;
try {
d = DatabaseFactory.create("hello.db");
d.executeStatement( "CREATE TABLE t (a INTEGER PRIMARY KEY, b BLOB);" );
} catch (Exception e) {
System.out.println( e.getMessage() );
} finally {
try {
d.close();
} catch (DatabaseException e) {
}
}
- Uso dei parametri SQL
- Uso dei pragma
- Utilizzo dei BLOB
- Recupero dei dati della tabella
- Uso delle transazioni
Le informazioni sono state utili? Inviateci i vostri commenti.