こんにちは、私はiOSのsqliteについてあまり知りません。単語/文を検索するためにクエリを使用しています。以下は、レコードを取得するための私のサンプルコードです
-(NSArray *)prepareSearchResultsForQuery:(NSString *)searchString{
searchQueryString = searchString;
sqlite3_stmt *searchResultsStmt;
NSMutableArray *arrayOfSearchResults;
NSString *searchResultsQuery = [NSString stringWithFormat:@"SELECT * FROM Search WHERE pageText LIKE '%%%@%%'",searchString];
if (sqlite3_prepare_v2(bookDB,[searchResultsQuery UTF8String],-1,&searchResultsStmt,nil) == SQLITE_OK) {
arrayOfSearchResults = [[NSMutableArray alloc]initWithCapacity:1];
while (sqlite3_step(searchResultsStmt) == SQLITE_ROW) {
XPathSearchResult *xpathObj = [[XPathSearchResult alloc] init];
xpathObj.targetPageIndex = sqlite3_column_int(searchResultsStmt, 2);
NSString *entirePageString = [[[NSString alloc] initWithUTF8String:(const char*)sqlite3_column_text(searchResultsStmt, 4)] autorelease];
xpathObj.stringContainingSearchQuery = [self getDisplayStringFromPageString:entirePageString];
[arrayOfSearchResults addObject:xpathObj];
[xpathObj release];
}
}
sqlite3_finalize(searchResultsStmt);
return arrayOfSearchResults;
}
}
上記のコードは、それが地球のものであるような言葉が出るまで私のために働いています
単語に ' "" < 文字が含まれている場合、私のメソッドは機能しません。そして今、私はこの問題から抜け出すために準備されたステートメントを使用する必要があることに出くわしました.この状況で準備されたステートメントを使用する方法を誰かが私に提案できますか?事前に感謝します