+ (NSArray *)getLocationByParentid:(int)parentid {
if (!_queue)
return nil;
// 1.定义数组
__block NSMutableArray *dataArray = nil;
// 2.使用数据库
[_queue inDatabase:^(FMDatabase *db) {
dataArray = [NSMutableArray array];
FMResultSet *rs = nil;
NSString *sql = @"select * from ";
NSString *sqlAll = [sql stringByAppendingFormat:@"%@%@%@%@",TABLE_NAME, @" where ", PARENTID,@"=?;"];
NSLog(@"%@", sqlAll);
rs = [db executeQuery:sqlAll, parentid]; <span style="color:#ff6666;">// 正确:rs = [db executeQuery:sqlAll, [NSNumber numberWithInt:parentid]];</span>
while (rs.next) {
LocationModel *data = [[LocationModel alloc] init];
data.id = [rs intForColumn:ID] ;
data.parentid = [rs intForColumn:PARENTID];
data.cname = [rs stringForColumn:CNAME];
data.flag = [rs boolForColumn:FLAG];
data.hot = [rs boolForColumn:HOT];
[dataArray addObject:data];
}
}];
// 3.返回数据
return dataArray;
}
执行executeQuery时使用了占位符,直接使用基础类型int时不能成功,需要使用NSNumber类型才可以。
FMDB执行executeQuery时使用占位符注意点
最新推荐文章于 2024-07-01 17:32:36 发布