Hi every one I am not much aware with the sqlite in ios. I am using a query for searching a word/sentence. Below is my sample code for retrieving record
-(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;
}
}
The above code is working for me until there are words like it's what's earth's
if the word contains ' "" < character my method not working. And now I came across that we need to use the prepared statement to come out of from this issue.Can any one suggest me how to use prepared statement in this situation.Thanks in advance