2
我對LIKE查詢使用以下代碼。這種LIKE技術是否正確?如何在sqlite和iPhone中使用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。如果我用類似的東西替換LIKE:
SELECT col1, col2
FROM table1 t1
JOIN table2 t2 ON t1.cityid = t2.cityid
where t1.cityname = ?
order by t1.cityname
它工作正常。上面的代碼之前我打開/關閉數據庫。有沒有一種方法可以解決數據庫無法打開的原因以及它與我的LIKE語法的關係?
是?001整數文字應該如何傳遞,即前導零? – Tim 2011-07-12 13:56:21