Guia do desenvolvedor

Local Navigation

Criar um banco de dados SQLite

Você pode criar um banco de dados SQLite usando os métodos create ou openOrCreate na classe DatabaseFactory.

Por padrão, os arquivos de banco de dados são armazenados em um cartão de memória. Se você usar BlackBerry Smartphone Simulator, talvez precise Simular um cartão de memória.

Depois de criar um banco de dados, verifique se o arquivo do banco de dados foi criado. Você pode fazer isso das seguintes maneiras:

  • Exiba o banco de dados no visualizador de banco de dados.
  • Procure pelo arquivo de banco de dados no sistema de arquivos e verifique se ele não está com tamanho igual a zero.
  • Invoque o método DatabaseFactory.exists.

O seguinte código de exemplo cria um banco de dados SQLite na raiz de um cartão de memória.

import net.rim.device.api.system.Application;
import net.rim.device.api.database.*;
import net.rim.device.api.io.*;
public class CreateDatabase extends Application
{
    public static void main(String[] args)
    {
        CreateDatabase app = new CreateDatabase();
        Database db = null;
        try
        {
           URI strURI = URI.create("file:///SDCard/test.db");        
           db = DatabaseFactory.create(strURI);
        }
        catch (Exception e)
        {
           System.out.println( e.getMessage() );
        }  finally {
        try {
           db.close();
        }
        catch (DatabaseException e) {
        }
     }
}

O código de exemplo a seguir adiciona uma tabela a um banco de dados.

import net.rim.device.api.database.Database;
 import net.rim.device.api.database.DatabaseFactory;
 import net.rim.device.api.database.Statement;
 import net.rim.device.api.io.URI;
 import net.rim.device.api.system.Application;
 public class AddDatabaseTable extends Application
 {
   public static void main(String[] args)
   {
       AddDatabaseTable app = new AddDatabaseTable();
       try {
          Database d = null;
          Statement st = null;
          try {
              URI myURI = URI.create("file:///SDCard/test.db");
              d = DatabaseFactory.open(myURI);
              st = d.createStatement( "CREATE TABLE People ( " +
                                              "Name TEXT, " +
                                              "Age INTEGER )" );          
              st.prepare();
              st.execute();
          }
          catch ( Exception e )
          {
              System.out.println( e.getMessage() );
          }
          finally
          {
              st.close();
              d.close();
          }
      } catch (Exception e) {
          System.out.println( e.getMessage() );
      }
  }
 }

Exemplo de código: Adicionando um esquema a um banco de dados SQLite

import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.database.*;
import net.rim.device.api.io.*;
public class CreateDatabaseSchema extends UiApplication
{
    public static void main(String[] args)
    {
        CreateDatabaseSchema theApp = new CreateDatabaseSchema();
        theApp.enterEventDispatcher();
    }
    public CreateDatabaseSchema()
    {
        pushScreen(new CreateDatabaseSchemaScreen());
    }   
}
class CreateDatabaseSchemaScreen extends MainScreen
{
    Database d;
    public CreateDatabaseSchemaScreen()
    {
        LabelField title = new LabelField("SQLite Create " + 
                                          "Database Schema Sample",
                                           LabelField.ELLIPSIS | 
                                           LabelField.USE_ALL_WIDTH);
        setTitle(title);
        add(new RichTextField("Adding a table to a database called " +
                              "MyTestDatabase.db on the SDCard."));
        try
        {
            URI myURI = URI.create("file:///SDCard/Databases/SQLite_Guide/" +
                                   "MyTestDatabase.db"); 
            d = DatabaseFactory.openOrCreate(myURI);
            Statement st = d.createStatement( "CREATE TABLE People ( " +
                                              "Name TEXT, " +
                                              "Age INTEGER )" );
            st.prepare();
            st.execute();
            st.close();
            d.close();
        }
        catch ( Exception e ) 
        {         
            System.out.println( e.getMessage() );
            e.printStackTrace();
        }
    }
}
Próximo tópico: Criar e excluir tabelas
Tópico anterior: Usar agrupamentos de idioma

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