SELECT count(*) from BOOKS where BOOKS.TAG_ID like '%,1,%'
我想在Objective-C中执行此查询。
const char *sql = "Select count(*) from Documents WHERE DocumentTag LIKE '%i,?,%i'";
sqlite3_stmt *sqlStatement;
NSString *bindParam = [NSString stringWithFormat:@"%d", tagId];
if(sqlite3_bind_int(sqlStatement, 1, tagId)!= SQLITE_OK){
NSLog(@"Problem binding search text param.");
}
else if(sqlite3_prepare_v2(database, sql, -1, &sqlStatement, NULL)==SQLITE_OK)
{
sqlite3_bind_int(sqlStatement, 1, sqlite3_column_int(sqlStatement, 0));
if(sqlite3_step(sqlStatement)==SQLITE_ROW)
taskCount=sqlite3_column_int(sqlStatement,0);
sqlite3_reset(sqlStatement);
sqlite3_finalize(sqlStatement);
}
答案 0 :(得分:1)
在字符串文字中无法识别参数标记(否则,在字符串中不可能使用?
个字符。)
您必须从三个字符串构建LIKE
模式,您的参数以及前缀和后缀:
const char *sql = "Select count(*) from Documents"
" WHERE DocumentTag LIKE '%i,' || ? || ',%i'";