android - 我无法关闭在 dao 初始化程序中创建的光标
问题描述
我不是 android 数据库方面的专家,但我能过得去。尽管在弄清楚如何在我们的应用程序中解决此问题时,我遇到了知识障碍。我们遇到了涉及游标的错误,我将其追踪到此函数,该函数是数据库访问对象中的构造函数。
public OrderDAO(int id) {
// DCWEB-1520: CursorWindowAllocationException due to unclosed cursors... One source below...
this(DB.getInstance().QueryCursor("SELECT * FROM " + TAG_VIEW_NAME + " WHERE ID=?", id, true));
}
public OrderDAO(Cursor cursor) {
super(cursor);
if (cursor.getCount() > 0) {
// ACRALYZER: Prevent DAOHelper.getIn
我尝试在它前面创建一个光标,并得到一个“这必须是构造函数中的第一行”错误。
我还尝试在代码中将其更改为 OrderDAO 并收到“方法调用预期”错误。我觉得我错过了一些简单的东西。
我需要做的是以某种方式将该查询游标(一个返回游标的自定义函数)拉到它自己的变量中,这样我就可以在它下面的重载构造函数中填充 dao 后关闭它。接受 id 的构造函数从大约 100 个不同的地方调用。
任何帮助,将不胜感激。感谢您的时间。
解决方案
推荐阅读
- javascript - React + useState + Array + Mutation = error
- flutter - 测试颤振应用程序时显示的黑色背景前奇怪的蓝色加载圆圈
- python - 为什么 Flask 说我的表未定义?
- angular - angularx flatpickr 无法从“CSSStyleSheet”读取“cssRules”属性:无法访问规则
- php - 我的查询生成器代码不起作用( whereRaw("DAY(time) = ?", $day )
- javascript - 如果他输入另一个号码
- angular - Spring Web服务获取方法不起作用
- python - Plotly 饼图和标签顺序
- reactjs - React Redux 从表中的 reducer 读取数据
- c++ - 使用 getline 的 C++ 错误。如何避免这个错误?“没有重载函数“getline”的实例