2011-06-26 41 views
0

使用sqlite搜索uisearchbar。 例如,在uisearchbar中写入的“home”一词将被发送到查询:使用sqlite搜索UISearchBar

SELECT * FROM table1 WHERE content MATCH'... ..'//此处'...''发送“家”

-(NSArray *)titles{ 

NSMutableArray * retval = [[[NSMutableArray alloc] init] autorelease]; 

NSString * query = @"SELECT * FROM table 1 WHERE content MATCH '…..' "; 

sqlite3_stmt * statement; 

if (sqlite3_prepare_v2(_database, query.UTF8String, -1, &statement, nil) == SQLITE_OK) { 
    while (sqlite3_step(statement) == SQLITE_ROW) {………..}}}; 

我想知道这是否可能,并与一个例子的链接。 谢谢。

回答

0

你必须确保你的视图控制器实现了UISearchBarDelegate协议然后添加以下方法

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
{ 
    [self titles:searchText]; 
} 

修改您的标题方法接受作为参数的字符串:

-(NSArray *)titles:(NSString *)toMatch 
{ 
NSMutableArray * retval = [[[NSMutableArray alloc] init] autorelease]; 

NSString * query = [NSString stringWithFormat:@"SELECT * FROM table 1 WHERE content MATCH '%@'", toMatch]; 

sqlite3_stmt * statement; 

if (sqlite3_prepare_v2(_database, query.UTF8String, -1, &statement, nil) == SQLITE_OK) { 
    while (sqlite3_step(statement) == SQLITE_ROW) {………..}}}; 

确保您的viewcontroller是UISearchBar的代表。

+0

非常感谢 – Xzolo32