iOS 使用FMDB对本地的.db数据进行查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 使用FMDB对本地的.db数据进行查询相关的知识,希望对你有一定的参考价值。
参考技术A /*** @author fangbmian, 16-03-18 10:03:50
*
* 获取本地品牌数据
*/
NSString *dbFilePath = [[NSBundle mainBundle] pathForResource:@"name" ofType:@"db"];
if (!dbFilePath) return;
carBrandList = [NSMutableArray new];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^
queue = [FMDatabaseQueue databaseQueueWithPath:dbFilePath];
[queue inDatabase:^(FMDatabase *db)
FMResultSet *rs = [db executeQuery:@"select distinct CAR_BRAND,CAR_BRAND_LOGO from CAR_VEHICLE"];
while([rs next])
CarBrandInfoBean * info = [CarBrandInfoBean new];
info.carBrand = [rs stringForColumn:@"CAR_BRAND"];
info.carBrandLogo = [rs stringForColumn:@"CAR_BRAND_LOGO"];
[carBrandList addObject:info];
];
);
/**
* @author fangbmian, 16-03-17 13:03:01
*
* item被点击
*
* @param brandName 品牌名称
*/
-(void)didClickItem:(NSString*)brandName
if (!queue) return;
NSMutableArray *carList = [NSMutableArray new];
[queue inDatabase:^(FMDatabase *db)
NSString *sql = [NSString stringWithFormat:@"select CAR_BRAND,CAR_SERIES,CAR_YEAR,CAR_TYPE,CAR_GAS,CAR_ID from CAR_VEHICLE where CAR_BRAND = \'%@\'", brandName];
FMResultSet *rs = [db executeQuery:sql];
while([rs next])
CarInfoBean *info = [CarInfoBean new];
info.carBrand = [rs stringForColumn:@"CAR_BRAND"];
info.carSeries = [rs stringForColumn:@"CAR_SERIES"];
info.carYear = [rs stringForColumn:@"CAR_YEAR"];
info.carType = [rs stringForColumn:@"CAR_TYPE"];
info.carGas = [rs stringForColumn:@"CAR_GAS"];
info.carTypeId = [rs stringForColumn:@"CAR_ID"];
[carList addObject:info];
];
FMDB 数据库查询 IOS FIND_IN_SET()
【中文标题】FMDB 数据库查询 IOS FIND_IN_SET()【英文标题】:FMDB Database Query IOS FIND_IN_SET() 【发布时间】:2016-02-09 09:33:56 【问题描述】:我在 IOS 中使用 FMDB 数据库。在我的数据库中,我有一列称为标签。
标签列有一个逗号分隔的值,如apple,banana,
。我想要我的关键字匹配的Title
列。我想知道如何在表格列中搜索逗号分隔值请帮助。
【问题讨论】:
【参考方案1】:您需要使用LIKE
运算符,当您有一个像apple,banana,...
这样的字段数据时,您可以在它的开头和结尾添加一个,
,例如,apple,banana,...,
,这使得所有标签都在两个逗号之间。现在你可以检查它是否包含,yourTag,
。
我对 FMDB 不太熟悉,但我认为下面的代码可以帮助你:
FMResultSet *rs = [db executeQuery:@"SELECT Title FROM yourTable WHERE ','+tags+',' LIKE ?",
[NSString stringWithFormat:@"%%%@%%", @"," + search_text + @","]];
【讨论】:
@viratpuar 您可以查看Like
的链接并按照我的描述对其进行编辑以实现您想要的;)。
谢谢我得到了我想要的;)以上是关于iOS 使用FMDB对本地的.db数据进行查询的主要内容,如果未能解决你的问题,请参考以下文章