Iphone 如何在sqlite中使用LIKE查询&;苹果手机
我使用下面的语句进行类似的查询。这项技术对LIKE正确吗Iphone 如何在sqlite中使用LIKE查询&;苹果手机,iphone,objective-c,cocoa-touch,sqlite,Iphone,Objective C,Cocoa Touch,Sqlite,我使用下面的语句进行类似的查询。这项技术对LIKE正确吗 selectstmtSearch = nil; if(selectstmtSearch == nil){ const char *sql = "SELECT col1, col2 FROM table1 t1 JOIN table2 t2 ON t1.cityid = t2.cityid where t1.cityname like ?001 order by t1.cityname"; if(sqlite3_prepare_
selectstmtSearch = nil;
if(selectstmtSearch == nil){
const char *sql = "SELECT col1, col2 FROM table1 t1 JOIN table2 t2 ON t1.cityid = t2.cityid where t1.cityname like ?001 order by t1.cityname";
if(sqlite3_prepare_v2(databaseSearch, sql, -1, &selectstmtSearch, NULL) == SQLITE_OK)
{
sqlite3_bind_text(selectstmtSearch, 1, [[NSString stringWithFormat:@"%%%@%%", searchText] UTF8String], -1, SQLITE_TRANSIENT);
}
}
我遇到的问题是,在使用了几次之后,我在sqlite3_open()上遇到了错误14,它无法打开数据库。如果我用以下内容替换类似内容:
SELECT col1, col2
FROM table1 t1
JOIN table2 t2 ON t1.cityid = t2.cityid
where t1.cityname = ?
order by t1.cityname
它很好用。我确实在上述代码之前/之后打开/关闭数据库。有没有一种方法可以准确地排除数据库无法打开的原因以及它与我的类似语法的关系?在关闭数据库连接之前,必须
sqlite3\u reset
或sqlite3\u finalize(selectstmtSearch)
。整数文本应该如何传递,即前导零?