Android Detach数据库

Lau*_*ura 2 sqlite android detach

我在我的应用程序2中使用数据库.我有一个主要数据库,使用最多,在某些时候我需要第二个数据库.因此,为了使用它,我使用此方法将其附加到主数据库:

public void attachDb(String dbName, String dbAlias){
    String dbPath = context.getDatabasePath(dbName).getAbsolutePath();
    myDataBase.execSQL("attach database '" + dbPath + "' as " + dbAlias);
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,当我退出屏幕并且得到强制关闭时,我想要分离第二个数据库.我试图使用此代码分离它:

 public void detachDatabase(String dbName){
    String dbPath = context.getDatabasePath(dbName).getAbsolutePath();
    myDataBase.execSQL("detach database '" + dbPath + "'");
}
Run Code Online (Sandbox Code Playgroud)

错误日志说明了这一点:*

05-13 11:48:23.173:ERROR/AndroidRuntime(7338):致命异常:Thread-145 android.database.sqlite.SQLiteException:错误代码1:android.database.sqlite.SQLiteStatement.native_execute中的SQL逻辑错误或缺少数据库(本地方法)位于android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1899)android.d.ds上,android.database.sqlite.SQLiteState.脚点数据库中的android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:92)(SQLite数据库.java:1839)com.example.DBManagerBase.detachDatabase(DBManagerBase.java:168)at com.example.run(MyClass.java:233)at java.lang.Thread.run(Thread.java:856)

*

我不知道问题是什么.有谁能够帮我?我会很感激.

And*_*cha 7

仅使用myDataBase.execSQL("detach"+ dbAlias)
您不使用数据库的路径+名称,只使用您提供的别名.