我正在尝试将以下String
传递给PreparedStatement
:
private static final String QUICK_SEARCH = "select * from c where NAME like '% ? %'";
但是,我得到一个缺少绑定变量的SQL异常。
有什么建议吗?
答案 0 :(得分:1)
您不能将绑定变量放在类似的字符串中。
您需要使用:
SELECT * FROM c WHERE name LIKE CONCAT('%', ?, '%')
或类似的,具体取决于您的SQL版本支持的功能。
答案 1 :(得分:1)
你不能使用字符串连接里面的参数吗?
答案 2 :(得分:1)
凉爽,
我在设置preparestatement时设置了%符号;
pstmt.setString(1, "%" + name + "%");