2010-06-23 4 views
2

В моем приложении я поддерживаю резервное копирование и восстановление файла Sqlite db.Как закрыть и повторно открыть базу данных Sqlite?

Мне нужно закрыть и снова открыть мое подключение к базе данных после восстановления. Как я могу это сделать?

+0

Можете ли вы опубликовать некоторый код о том, как вы обращаетесь к базе данных? Кроме того, как вы создаете резервную копию и восстанавливаете базу данных? Пожалуйста, обновите свой пост, чтобы все могли его увидеть. –

ответ

1

SQLite Database class имеет открытые и закрытые методы.

+1

Как мне получить экземпляр моего SQLite db для этого? – thedude19

1

Этот код может вам помочь.

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); 
    } 
    } 
} 
Смежные вопросы