我想从我的表中获取记录数,但我不能,因为我收到此错误:
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/
怎么了?为什么它不起作用?
答案 0 :(得分:3)
当你仍然在return语句中使用游标时,你调用了cursor.close()
,如果仍在使用游标,则无法关闭游标。
答案 1 :(得分:1)
你关闭光标然后使用它,你需要在另一个地方记录数据并返回