如何将游标从数据库函数返回到活动中的另一个函数

时间:2013-06-28 09:18:20

标签: android cursor android-cursor forceclose cursor-position

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

}

1 个答案:

答案 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

}