sqlite3_step (21: out of memory) rs的一种错误原因。

来源:互联网 发布:pdf电子书 知乎 编辑:程序博客网 时间:2024/06/05 09:36

今天在使用FMDB时报了sqlite3_step (21: out of memory) rs这样一个错误。

    if ([_DB open]) {        NSString *sql=[NSString stringWithFormat:@"SELECT * FROM %@",tablename];        FMResultSet *resultSet=[_DB executeQuery:sql];        else if ([tablename isEqualToString:@"WXZ"]){            if (_WXZModelContents.count==0) {                FMResultSet *resultSet2=[_DB executeQuery:sql];                while ([resultSet next]) {<span style="color:#ff0000;">//错误出现在这里,错误的将resultSet2写作了resultSet</span>                    }                }                [resultSet2 close];            }            while ([resultSet next]) {                                }            }            [resultSet close];        }

所以这个错误就是出现在多个查询时,使用错误导致。因为在第一次循环查询完毕后,列表已经被查完了,再执行[resultSet next]操作就会报这个错误,类似于数组溢出一样。


0 0
原创粉丝点击