У вас есть следующее утверждение:
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);