JavaRush/Java блог/Архив info.javarush/JDBC PreparedStatement вопрос.
enso
30 уровень

JDBC PreparedStatement вопрос.

Статья из группы Архив info.javarush
участников
В PreparedStatement можно указывать параметры при sql запросе
PreparedStatement pstmt = con.prepareStatement("UPDATE tab1 set col1 = ? where key = 1"); pstmt.setShort(1, (short)2); А можно ли как-то указать оператор сравнения?

То есть например: PreparedStatement pstmt = con.prepareStatement("UPDATE tab1 set col1 ? 1 where key = 1"); pstmt.set????(1, >=);
Комментарии (5)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hubert
Уровень 41
27 сентября 2015, 09:51
Может так?
«UPDATE tab1 set col1 = 1 where key = ?»
enso
Уровень 30
27 сентября 2015, 13:02
Не совсем )
Если быть конкретнее, то я пишу небольшой проект в котором необходимо поочередно выполнить три запроса к БД. Все запросы практически идентичны и выглядят так:
SELECT что то where что то = 2

SELECT что то where что то = 3

SELECT что то where что то <> 2

То есть двум из них можно просто передать параметры, там где стоит " = ". А вот как быть с " <> " не знаю, хотелось бы тоже изменять это параметром.
timurnav
Уровень 21
29 сентября 2015, 22:15
имхо расточительность ресурсов базы данных)
ты достаешь = 2, а потом <> 2… вытащить всё и работать с объектами не лучше?
или цифры это просто пример?
enso
Уровень 30
30 сентября 2015, 09:04
Да, вы правы, спасибо. Я так и делаю теперь: вытаскиваю все из базы, создаю объекты и работаю с ними. Остался только праздный интерес — можно ли в качестве параметра передать оператор сравнения)
timurnav
Уровень 21
30 сентября 2015, 10:01
можешь создать строковую константу и подставлять ее, но уже не в ПС, а в строку запроса, в качестве параметра это делать конечно же не возможно.