Я пытаюсь передать следующее String в PreparedStatement:
String
PreparedStatement
private static final String QUICK_SEARCH = "select * from c where NAME like '% ? %'";
Однако я получаю исключение SQL, что отсутствует переменная связывания.
Есть предложения?
Не можете ли вы использовать параметры внутри конкатенации строк?
прохладный
я просто устанавливаю знаки% при настройке подготовленного заявления;
pstmt.setString(1, "%" + name + "%");
Вы не можете поместить переменные связывания в строку, подобную этой.
Вам необходимо использовать:
SELECT * FROM c WHERE name LIKE CONCAT('%', ?, '%')
или аналогичный, в зависимости от того, какие функции поддерживаются вашей версией SQL.