我使用以下代码将项目添加到数据库:
public static void insertQuestion(Context c,JSONArray jarr,String search) throws JSONException {
DatabaseWrapper databaseWrapper = new DatabaseWrapper(c);
SQLiteDatabase database = databaseWrapper.getWritableDatabase();
ContentValues values = postToContentValues2(jarr);
values.put(QuestionORM.COLUMN_SEARCH,search);
long questionId = database.insert(QuestionORM.TABLE_NAME, "null", values);
Log.e(TAG, "Inserted new Question with ID: " + questionId);
database.close();
}
但我收到一条错误消息
“尝试重新打开一个已经关闭的对象”
在这一行:
SQLiteDatabase database = databaseWrapper.getWritableDatabase();
我该如何解决这个问题?
Thanks !
打开前检查一下
if(database != null && database.isOpen()){
// if open then don't open
}
- - 更新 - -
// 在你的类中添加这个方法
private SQLiteDatabase myDataBase;
...
public boolean isDatabaseOpened() {
if (myDataBase == null) {
return false;
}
return myDataBase.isOpen();
}
如果方法返回 false,则仅根据您的要求调用 getWritableDatabase() 或 getReadableDatabas() 。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)