2012-03-28 3 views
1

У меня проблема с подготовленными операторами с параметром char(3).Java sql char подготовленный оператор

Когда я положил строку непосредственно в строку SQL я не имею никаких проблем и набор результатов является правильным, вот пример:

WHERE REQ.SERVICEID = 'SIN' 

Однако, когда я пытаюсь использовать подготовленное заявление в безопасном способе , Я не получаю никаких данных!

код ниже:

" WHERE REQ.SERVICEID = ? " 

, а затем

statement.setString(1,"SIN"); 

В чем проблема?

+1

Какую базу вы используете? – Thilo

+2

Если это Oracle, возможно, это поможет: http://stackoverflow.com/questions/5332845/oracle-jdbc-and-oracle-char-data-type – Thilo

+0

Спасибо, это база данных оракула – Bartok

ответ

0

Убедитесь, что вы используете UTF-8, то есть с MySQL:

jdbc:mysql://localhost:3306/db_name?characterEncoding=UTF-8 

Для других баз данных, должна быть аналоговыми вариантами.

Смежные вопросы