diff --git a/JKDBModel/DBModel/JKDBModel.h b/JKDBModel/DBModel/JKDBModel.h index 8194059..b12bbf2 100644 --- a/JKDBModel/DBModel/JKDBModel.h +++ b/JKDBModel/DBModel/JKDBModel.h @@ -73,6 +73,12 @@ /** 查询全部数据 */ + (NSArray *)findAll; +/** + * 通过键查询 值的数组 + * + */ ++ (NSArray *)findValuesforKey:(NSString *)key; + /** 通过主键查询 */ + (instancetype)findByPK:(int)inPk; diff --git a/JKDBModel/DBModel/JKDBModel.m b/JKDBModel/DBModel/JKDBModel.m index 9a093d1..efee13d 100644 --- a/JKDBModel/DBModel/JKDBModel.m +++ b/JKDBModel/DBModel/JKDBModel.m @@ -534,6 +534,46 @@ + (NSArray *)findAll return users; } +/** + * 通过键查询 值的数组 + * + */ ++ (NSArray *)findValuesforKey:(NSString *)key{ + + NSLog(@"jkdb---%s",__func__); + JKDBHelper *jkDB = [JKDBHelper shareInstance]; + NSMutableArray *users = [NSMutableArray array]; + [jkDB.dbQueue inDatabase:^(FMDatabase *db) { + NSString *tableName = NSStringFromClass(self.class); + NSString *sql = [NSString stringWithFormat:@"SELECT * FROM %@",tableName]; + FMResultSet *resultSet = [db executeQuery:sql]; + while ([resultSet next]) { + JKDBModel *model = [[self.class alloc] init]; + for (int i=0; i< model.columeNames.count; i++) { + NSString *columeNames = [model.columeNames objectAtIndex:i]; + NSString *columeType = [model.columeTypes objectAtIndex:i]; + + if ([columeNames isEqualToString:key]) { + if ([columeType isEqualToString:SQLTEXT]) { + [users addObject:[resultSet stringForColumn:columeNames]]; + } else { + [users addObject:[NSNumber numberWithLongLong:[resultSet longLongIntForColumn:columeNames]]]; + } + } + } + + FMDBRelease(model); + } + }]; + + return users; +} + + + + + + + (instancetype)findFirstWithFormat:(NSString *)format, ... { va_list ap;