как установить заполнители в запросе как заявление - PullRequest
2 голосов
/ 29 сентября 2011

Я создаю PreparedStatement с SQL, который имеет оператор like, и я устанавливаю заполнители, используя метод setString(), но он не выдает никакой ошибки и не извлекает какие-либо записи. Когда я запускаю запрос непосредственно в базе данных, устанавливая аргументы в аналогичных операторах, я получаю результаты, поэтому я думаю, что может быть любой другой способ поместить заполнители в sql, я делаю это следующим образом:

select name from employee where name like ?

Я тоже пробовал:

select name from employee where name like (?)

и установить параметры, используя метод setString(), но я не получил никаких результатов.

Пожалуйста, помогите, что в этом не так

Ответы [ 2 ]

2 голосов
/ 29 сентября 2011

это пример из API:

PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
                                     SET SALARY = ? WHERE ID = ?");
   // set the first (?)
   pstmt.setBigDecimal(1, 153833.00)
   // set the second (?)
   pstmt.setInt(2, 110592)

вы можете увидеть больше в: http://download.oracle.com/javase/1.4.2/docs/api/java/sql/PreparedStatement.html

1 голос
/ 29 сентября 2011

Это способ, которым вы использовали его в первую очередь.Если вам нужна еще одна публикация, объясняющая это, см .:

Не можете использовать запрос LIKE в JDBC PreparedStatement?

...