2010-04-15 74 views
2

我跑在我的项目动态LIKE语句问题: 此查询的工作就像一个魅力,并与他们的名字“T”将返回所有项目:如何使用SQLITE3 LIKE语句

const char *sql = "select * from bbc_ipad_v1_node where name LIKE '%%t%%'"; 

当我试图动态地做到这一点,我没有得到错误,但只是一个空的结果。看来这个值是空的。我尝试绑定一个字符串值“S”,输出正确的值

NSLog(@"bbc_ : search menu items from db based on: %@",s); 
const char *sql = "select * from bbc_ipad_v1_node where name LIKE '%%?%%'"; 
sqlite3_stmt *statement; 
if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) == SQLITE_OK) { 
sqlite3_bind_text(statement, 1, [s UTF8String],-1,SQLITE_TRANSIENT); 

我应该如何绑定这个值,而不是使用:

const char *sql = "select * from bbc_ipad_v1_node where name LIKE '%%?%%'"; 

回答

1

实际上,你可以只说

const char *sql = "select * from bbc_ipad_v1_node where name LIKE '%t%'"; 

(注单% S)