すべての列を検索する必要があるので、where句で各列名を指定する代わりに、検索可能なメソッドを作成したいすべての列を介して。Objective-Cでfmdbを使用してsqliteのすべての列を反復する方法
-(void) fillSomeobjectNames:(NSString *)filter
{
FMDatabase *db = [FMDatabase databaseWithPath:databasePath];
[db open];
NSString *sql = [NSString stringWithFormat:@"SELECT id, name, imagefile FROM %@ %@", mainTableName, filter];
FMResultSet *results = [db executeQuery:sql];
while([results next])
{
Someobject *someobject = [[Someobject alloc] init];
[someobject setID:[results intForColumn:@"id"]];
[someobject setName:[results stringForColumn:@"name"]];
NSString *iconName = [[results stringForColumn:@"imagefile"] stringByReplacingOccurrencesOfString:@".jpg" withString:@""];
[someobject setIconPath:[NSString stringWithFormat:@"%@-ico.jpg",iconName]];
[someobjects someobject];
}
[db close];
}
「フィルタ」「ようにWHERE発言= [検索テキスト]と[説明= [検索テキスト]と...」することができ
は素晴らしいです。私はちょうど "=%@ OR"を "LIKE '%%% @ %%" OR " – gangt