我将Cursor从数据库中的一个函数返回到activity中的另一个函数。一切正常但日志cat给出错误(这不会导致任何问题)在被调用的函数中停用或关闭游标。如果我关闭它,我无法在调用函数中访问它。我不知道停用是如何工作的。还有一段时间因为强制关闭我的数据库崩溃,是因为我的光标是打开还是因为其他原因?
被叫函数在Database类中:
public Cursor Settings() {
mDB = DBHelper.getWritableDatabase();
Cursor data_db = mDB.rawQuery("SELECT * FROM " + setting + " ;",
null);
return data_db;
}
通话功能:
public void insert()
{
Cursor cr = db.Settings();//db is object of database
if (cr == null)
otd.insert_setting(value + "", save_path, option);
else {
otd.delete_setting();
otd.insert_setting(value + "", save_path, option);
}
}
答案 0 :(得分:0)
我们应该在使用数据库之前和之后打开和关闭数据库
public void insert()
{
db.open();
Cursor cr = db.Settings();//db is object of database
if (cr == null)
otd.insert_setting(value + "", save_path, option);
else {
otd.delete_setting();
otd.insert_setting(value + "", save_path, option);
}
db.close
}