Como trabalhar com bancos de dados SQLite
Depois de criar um banco de dados SQLite, você pode usar instruções SQL para fazer coisas como adicionar dados, recuperar dados e modificar o banco de dados.
A lista de instruções SQL suportadas e sua sintaxe está disponível em www.SQLite.org. A API Database não suporta FTS2 e RTREE.
Há duas maneiras executar instruções: criar um objeto Statement, ou usar Database.executeStatement.
Executar instruções com um objeto Statement
As seguintes etapas descrevem como executar instruções com um objeto Statement:
- Crie um objeto Statement usando o método Database.createStatement.
- Prepare a instrução para ser executada invocando o método Statement.prepare().
- Una parâmetros na instrução. Isto é opcional, mas melhora o desempenho quando você executa a instrução várias vezes.
- Execute a instrução.
Se a instrução deve retornar resultados (como uma instrução SELECT), execute-a chamando Statement.getCursor, que retorna um objeto Cursor.
- Se a instrução não deve retornar um conjunto de resultados, execute-a chamando um dos seguintes métodos:
- Statement.executeUpdate: Use ao atualizar dados (com uma instrução UPDATE) e ao executar a instrução várias vezes com parâmetros de união.
- Statement.executeInsert: Use ao inserir dados (com uma instrução INSERT) e ao executar a instrução várias vezes com parâmetros de união.
- Statement.execute: Use quando desejar usar parâmetros de união.
- Se a instrução retornar um conjunto de resultados, recupere o conjunto de resultados através da iteração pelo cursor retornado linha por linha. Faça isso usando a interface Cursor, que funciona em todas as circunstâncias, mas apenas avançada. Para obter o movimento bidirecional do cursor, mas apenas para pequenos conjuntos de resultados, use a classe BufferedCursor.
O exemplo a seguir atualiza as linhas:
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();
}
Executar instruções sem um objeto Statement
Quando você executa uma consulta que não retorna um conjunto de resultados e você não usa parâmetros de união, você não deve criar um objeto Statement. Em vez disso, você pode usar Database.executeStatement, que executa uma preparação, execução e fechamento de uma instrução em uma única chamada.
O exemplo a seguir cria uma tabela:
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) {
}
}
Estas informações foram úteis? Gostaríamos de receber seus comentários.