我有一种方法,基本上可以执行以下操作:
Cursor cursor;
cursor = myCard.queryRandomCard(this);
cursor.moveToFirst();
在queryRandomCard方法中:
DataSource datasource = new DataSource(context);
datasource.open();
Cursor cursor = (SQL STATEMENT IS HERE AND WORKS);
datasource.close();
return cursor;
问题在于,执行retretn时,执行“ cursor.moveToFirst()”时出现错误,提示“连接池已关闭”。但是,如果我删除了“ datasource.close()”调用,则可以正常工作。
我的问题是,为什么在此处关闭数据库会影响返回的游标?这两个联系在一起的程度是否比我想象的要紧密?
谢谢
一个游标无非是一个迭代器上数据库的表进行操作。使用游标时,您不会一次加载整个表,但是每次需要时都加载一行,因此需要一个开放的数据库连接才能正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句