From de0badfc4018b21d62fbd3887fe56eb59e3037ea Mon Sep 17 00:00:00 2001 From: wu yaomin Date: Wed, 15 Jun 2016 17:26:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=20=20+=20(NSArray=20*)fin?= =?UTF-8?q?dValuesforKey:(NSString=20*)key;=20=E6=96=B9=E6=B3=95=20=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=20=E6=9F=90=E4=B8=AA=E9=94=AE=20=20=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E8=A1=A8=E4=B8=AD=E7=9A=84=E6=89=80=E6=9C=89=E5=80=BC?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JKDBModel/DBModel/JKDBModel.h | 6 ++++++ JKDBModel/DBModel/JKDBModel.m | 40 +++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) 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;