У меня есть база данных, работающая на MS SQL Server.Мое приложение связывается с ним через JDBC и ODBC.Теперь я пытаюсь использовать подготовленные операторы.
Когда я вставляю числовой (длинный) параметр, все работает нормально.Когда я вставляю строковый параметр, он не работает.Там нет сообщения об ошибке, но пустой набор результатов.
WHERE column LIKE ('%' + ? + '%') --inserted "test" -> empty result set
WHERE column LIKE ? --inserted "%test%" -> empty result set
WHERE column = ? --inserted "test" -> works
Но мне нужна функциональность LIKE.Когда я вставляю эту же строку непосредственно в строку запроса (не как подготовленный параметр оператора), она работает нормально.
WHERE column LIKE '%test%'
Это выглядит для меня как двойные кавычки, но я никогда не использовал кавычки внутристрока.Я использую подготовленный.Statement.setString (int index, String x) для вставки.
Что вызывает эту проблему?Как я могу это исправить?
Заранее спасибо.