2011-06-26 16 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

関連する問題