我想下面String
傳遞給PreparedStatement
時:SQL異常試圖讓一個準備好的聲明
private static final String QUICK_SEARCH = "select * from c where NAME like '% ? %'";
不過,我得到一個SQL異常綁定變量缺失。
有什麼建議嗎?
我想下面String
傳遞給PreparedStatement
時:SQL異常試圖讓一個準備好的聲明
private static final String QUICK_SEARCH = "select * from c where NAME like '% ? %'";
不過,我得到一個SQL異常綁定變量缺失。
有什麼建議嗎?
不能使用字符串連接中的參數嗎?
你不能把綁定變量放在這樣的字符串中。
您需要使用:
SELECT * FROM c WHERE name LIKE CONCAT('%', ?, '%')
或相似的,這取決於哪些功能是由您的SQL版本的支持。
cool,
我剛剛在設置preparedstatement時設置了%符號;
pstmt.setString(1, "%" + name + "%");
我們可以看到您用於創建準備好的語句的實際代碼嗎? – SCdF 2009-01-20 11:37:45
[Java PreparedStatements中的通配符]的可能重複(http://stackoverflow.com/questions/327765/wildcards-in-java-preparedstatements) – outis 2012-04-27 19:49:26