Guía de desarrollo

Local Navigation

Trabajo con bases de datos SQLite

Una vez ha creado una base de datos SQLite, puede utilizar las instrucciones SQL para realizar acciones como agregar y recuperar datos, y modificar la base de datos.

La lista de instrucciones de SQL compatibles y su sintaxis está disponible en www.SQLite.org. La API de base de datos no admite las instrucciones FTS2 y RTREE.

Hay dos maneras de ejecutar las instrucciones: crear un objeto Statement o utilizar Database.executeStatement.

Ejecución de las instrucciones con un objeto Statement

Los siguientes pasos indican cómo ejecutar las instrucciones con un objeto Statement:

  1. Cree un objeto Statement mediante el método Database.createStatement.
  2. Prepare la instrucción para ejecutarse invocando Statement.prepare.
  3. Vincule los parámetros en la instrucción. Esto es opcional, pero mejora el rendimiento cuando se ejecuta la instrucción varias veces.
  4. Ejecute la instrucción.
    • Si la instrucción devuelve resultados (como la instrucción SELECT), ejecútela llamando a Statement.getCursor, lo que devuelve un objeto Cursor.

    • Si la instrucción no devuelve un conjunto de resultados, ejecútela llamando a uno de los siguientes métodos:
      • Statement.executeUpdate: úselo para actualizar datos (con la instrucción UPDATE) y ejecutar la instrucción varias veces con parámetros de vinculación.
      • Statement.executeUpdate: úselo para introducir datos (con la instrucción INSERT) y ejecutar la instrucción varias veces con parámetros de vinculación.
      • Statement.execute: úselo para vincular parámetros.
  5. Si la instrucción devuelve un conjunto de resultados, recupérelo mediante una iteración fila a fila en el objeto cursor devuelto. Puede hacer esto mediante la interfaz Cursor, que funciona en todas las circunstancias pero sólo hacia delante. Para el movimiento bidireccional del cursor, pero sólo para pequeños conjuntos de resultados, utilice la clase BufferedCursor.
Nota: Debe cerrar explícitamente todas las instrucciones para liberar recursos.

El ejemplo siguiente actualiza las filas:

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(); 
}

Ejecución de las instrucciones sin un objeto Statement

Cuando ejecuta una consulta que no devuelve un conjunto de resultados y no está utilizando parámetros de vinculación, no necesita crear un objeto Statement. En vez de eso, puede utilizar Database.executeStatement, que prepara, ejecuta y cierra una instrucción en una sola llamada.

El ejemplo siguiente crea una tabla:

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) {
    }
}
Tema siguiente: Uso de parámetros de SQL

¿Le ha resultado útil esta información? Envíenos sus comentarios.