我在C++中使用SQLite來查詢數據庫。我想用LIKE
運營商在select語句如SQLite C++語句格式
SELECT * FROM table WHERE columnName LIKE '%abc%'
但我需要爲abc的值綁定在上面的語句查詢。通常,對於像SELECT * FROM table WHERE [email protected]
這樣的正常語句,我們可以使用query.bind(@name, 'name');
但是對於LIKE
運算符,我無法使其工作。我不確定我是否應該將其作爲'%@name%'
?這不起作用並引發綁定錯誤異常。
任何建議都會非常有幫助,因爲否則,我需要瀏覽具有100行的整個搜索結果,並檢查每行的大字符串數組中的值。我們的想法是將字符串數組元素作爲LIKE
運算符的綁定值來搜索數據庫並獲取一行。
任何想法?
非常感謝,提前。
Esash
綁定只能通過參數值,而不是其他地方工作的聲明。您將不得不使用字符串操作來構造LIKE子句,或者參閱https://stackoverflow.com/questions/4329953/c-sharp-sqlite-parameterized-select-using-like。 –
您是否嘗試過'LIKE @ name'和'query.bind(「@ name」,「%」+ abc +「%」)'[需要修復我的語法]? –