事情事前段时间的时候,在工作中使用sqlite3,执行一个SQL语句的时候程序挂掉了```
语句是
NSArray *array = [self execSelectSQLFotOrgnization:@"select userDepart, min(userOrder) as id from %@ group by userDepart order by id", tableName];
其中
execSelectSQLFotOrgnization是自己封装的一个接口。最后调试,发现问题出在
sqlite3_column_decltype();这句上。
由上可以知道我的select语句中并不是直接搜索标中的定义字段名,而是使用了min().而sqlite3_column_decltype()对min()返回的数据类型不能识别。所以导致后面的程序执行挂掉了。关键在于,我的SQL是正确执行并成功返回了的。所以对这个地方的sqlite3_column_decltype的返回做下特殊处理