0

我想从我的表中获取记录数,但我不能,因为我收到了这个错误:

06-19 19:11:12.599: E/AndroidRuntime(1811): java.lang.IllegalStateException: 尝试重新打开一个已经关闭的对象: android.database.sqlite.SQLiteQuery (mSql = SELECT * FROM zapisy)

我的功能:

// Getting contacts Count
public int getContactsCount() {
    String countQuery = "SELECT  * FROM " + TABLE_ZAPISY;
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(countQuery, null);
    cursor.close();

    // return count
    return cursor.getCount();
}

我在这个网站上找到了这个功能:http ://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

怎么了?为什么它不起作用?

4

2 回答 2

3

您在返回语句中仍在使用游标时调用cursor.close(),如果您仍在使用游标,则无法关闭游标。

这就像关上一扇门然后试图穿过它:)

于 2012-06-19T17:20:16.790 回答
1

您关闭光标然后使用它,您需要在另一个地方记录数据并返回

于 2012-06-19T17:24:14.747 回答