Guia do desenvolvedor

Local Navigation

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:

  1. Crie um objeto Statement usando o método Database.createStatement.
  2. Prepare a instrução para ser executada invocando o método Statement.prepare().
  3. Una parâmetros na instrução. Isto é opcional, mas melhora o desempenho quando você executa a instrução várias vezes.
  4. 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.
  5. 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.
Nota: Você deve fechar as instruções explicitamente para liberar recursos.

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) {
    }
}
Próximo tópico: Uso de parâmetros SQL

Estas informações foram úteis? Gostaríamos de receber seus comentários.