0

我将光标从数据库中的一个函数返回到活动中的另一个函数。一切正常,但 log cat 给出了错误(这不会导致任何问题)以停用或关闭被调用函数中的游标。如果我关闭它,我将无法在调用函数中访问它。我不知道 deactivate 是如何工作的。有时由于强制关闭我的数据库崩溃,是因为我的游标是打开的还是因为其他原因?

调用的函数在数据库类中:

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);
            }

}
4

1 回答 1

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

}
于 2013-06-29T06:15:12.550 回答