2010-06-23 7 views
2

Dans mon application, je gère la sauvegarde et la restauration du fichier Sqlite db.Comment fermer et rouvrir la base de données Sqlite?

Je dois fermer et rouvrir ma connexion à la base de données après la restauration. Comment puis-je faire ceci?

+0

Pouvez-vous poster du code sur la manière d'accéder à la base de données? Aussi, comment sauvegardez-vous et restaurez-vous la base de données? Veuillez mettre à jour votre message afin que tout le monde puisse le voir. –

Répondre

1

SQLite Database class a des méthodes d'ouverture et de fermeture.

+1

Comment puis-je obtenir une instance de mon SQLite db pour le faire? – thedude19

1

Ce code peut vous aider.

public class DbHelper { 
    private static final String DATABASE_NAME = "rayyildiz_sample.db"; 
    private static final int DATABASE_VERSION = 1; 
    private static final String TABLE_NAME = "Test"; 
    private static final String TABLE_CREATE = "CREATE TABLE " + TABLE_NAME + " (" 
     + " \"Id\" INTEGER PRIMARY KEY," 
     + " \"Firstname\" TEXT," 
     + " \"Lastname\" TEXT," 
     + " \"PhoneNumber\" TEXT" + ")"; 
    private static final String TABLE_INSERT = "INSERT INTO " + TABLE_NAME + "(Firstname,Lastname,PhoneNumber) VALUES (?,?,?)"; 

    private Context context; 
    private SQLiteDatabase database; 
    private SQLiteStatement insertSQLiteStatement; 

    public DbHelper(Context context) { 
    this.context = context; 
    DbOpenHelper dbOpenHelper = new DbOpenHelper(context); 
    database = dbOpenHelper.getWritableDatabase(); 
    insertSQLiteStatement = database.compileStatement(TABLE_INSERT); 
    } 

    public void close(){ 
    database.close(); 
    } 

    public void reopen(){ 
    close(); 
    DbOpenHelper dbOpenHelper = new DbOpenHelper(context); 
    database = dbOpenHelper.getWritableDatabase();  
    } 

    private static class DbOpenHelper extends SQLiteOpenHelper { 
    public DbOpenHelper(Context context) { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL(TABLE_CREATE); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); 
     onCreate(db); 
    } 
    } 
} 
Questions connexes