在处理某些JDBC代码时出现以下错误:
java.sql.sqlexception missing in or out parameter at index: 6
有人可以解释一下这意味着什么吗?更一般地说,是否有一个网站/文档集可以解释错误陈述的含义?
答案 0 :(得分:9)
您的声明如下:
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没有绑定,没有提供任何值。 Statement不知道要向DB发送什么值(默认情况下不会发送NULL)。如果参数值未知,你应该这样做:
st.setNull(6,Types.VARCHAR);
答案 1 :(得分:1)
您可以粘贴PreparedStatement代码吗?这意味着你有额外的?在您未设置值的声明中。