使用sqlite搜索UISearchBar

时间:2011-06-26 13:47:11

标签: iphone sqlite uisearchbar

使用sqlite搜索uisearchbar。 例如,用uisearchbar写的“home”一词,可以发送到查询:

SELECT * FROM table1 WHERE content MATCH'... ..'// here'....'被送到“家”

-(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) {………..}}};

我想知道这是否可行,以及与示例的链接。 谢谢。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分: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的委托。