2012-06-19 100 views
0

我想从我的表中的记录数,但我不能,因为我得到这个错误:如何从SQLLiteDatabase中获取表中所有记录的数量?

06-19 19:11:12.599: E/AndroidRuntime(1811): java.lang.IllegalStateException: attempt to re-open an already-closed object: 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/

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

回答

3

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

它像关门,然后试图穿行吧:)

1

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

相关问题