Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在sqlite中使用LIKE查询&;苹果手机_Iphone_Objective C_Cocoa Touch_Sqlite - Fatal编程技术网

Iphone 如何在sqlite中使用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_

我使用下面的语句进行类似的查询。这项技术对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_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)

整数文本应该如何传递,即前导零?