что означает следующая ошибка: отсутствует java.sql.sqlexception параметр in или out в индексе - PullRequest
8 голосов
/ 18 апреля 2011

Я получаю следующую ошибку при работе с кодом JDBC:

java.sql.sqlexception missing in or out parameter at index: 6

Может кто-нибудь объяснить, что это значит?В более широком смысле, существует ли веб-сайт / набор документации, которая объяснит, что означает сообщение об ошибке?

Ответы [ 2 ]

9 голосов
/ 18 апреля 2011

У вас есть следующее утверждение:

select foo from bar where a=? and b=? and c=? ...

Код, который вы привязываете значения к параметрам:

st.setInteger(1,123); // goes to a
st.setString(2,"hello"); // goes to b
...

Теперь параметр # 6 не привязан, значение не указано.Оператор не знает, какое значение отправить в БД (по умолчанию он не отправит NULL).Вы должны сделать что-то вроде этого, если значение параметра неизвестно:

st.setNull(6,Types.VARCHAR);
1 голос
/ 18 апреля 2011

Можете ли вы вставить свой код PreparedStatement? Что это значит, что у вас есть лишнее? в утверждении, для которого вы не устанавливаете значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...