Как справиться с (возможно) нулевыми значениями в ReadedStatement?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как справиться с (возможно) нулевыми значениями в ReadedStatement?

Сообщение Anonymous »

Заявление

Код: Выделить всё

SELECT * FROM tableA WHERE x = ?
и параметр вставляется через java.sql.PreparedStatement 'stmt'

Код: Выделить всё

stmt.setString(1, y); // y may be null
Если y имеет значение NULL, оператор не возвращает строк в каждом случае, поскольку x = null всегда является ложным (должно быть x IS NULL< /code>).
Одним из решений может быть

Код: Выделить всё

SELECT * FROM tableA WHERE x = ? OR (x IS NULL AND ? IS NULL)
Но тогда мне придется установить один и тот же параметр дважды. Есть ли лучшее решение?

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/421 ... dstatement
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»