今天在调试代码的时候,发现有数据库中的一个数据总是获取不正确,导致一个应该为非负数的结果计算为负数,经过单步调试,发现在获取该数据时总是报一个错误:
Error calling sqlite3_step (21: out of memory) rs
上StackOverFlow
搜索了一下,在对比一下代码,终于发现了问题,在循环中把FMResultSet
给close
了,然后再执行next
方法的时候就会报这个错误。不过由于不会导致应用crash,而且next
方法返回了false
,很容易就会把这个错误给忽略,所以必须注意一下,FMResultSet
对象close
之后不可以再执行任何操作。
FMDB的Tip
本文介绍了一个在使用SQLite进行数据库操作时遇到的问题:内存溢出导致的数据获取错误。通过逐步调试,发现问题根源在于不当关闭FMResultSet对象后再尝试调用next方法。文章强调了正确管理FMResultSet的重要性。
摘要由CSDN通过智能技术生成