Guide de développement

Local Navigation

Création d'une base de données SQLite

Vous pouvez créer une base de données SQLite à l'aide des méthodes create ou openOrCreate de la classe DatabaseFactory.

Par défaut, les fichiers de base de données sont stockés sur une carte multimédia. Si vous utilisez BlackBerry Smartphone Simulator, vous devrez peut-être simuler une carte multimédia.

Après création d'une base de données, vérifiez-que le fichier de base de données a été créé. Pour ce faire, vous ne pouvez procédez que selon l'une des méthodes suivantes :

  • Affichez la base de données dans une visionneuse de base de données.
  • Recherchez le fichier de base de données dans le système de fichiers et vérifiez que sa taille n'est pas nulle.
  • Appelez la méthode DatabaseFactory.exists.

L'échantillon de code suivant crée une base de données SQLite à la racine d'une carte multimédia.

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) {
        }
     }
}

L'échantillon de code suivant ajoute une table à une base de données.

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

Échantillon de code : ajout d'un schéma à une base de données 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();
        }
    }
}

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.