以下错误意味着什么:java.sql.sqlexception在索引中缺少in或out参数

时间:2011-04-18 17:57:33

标签: java oracle jdbc oracle11g

在处理某些JDBC代码时出现以下错误:

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

有人可以解释一下这意味着什么吗?更一般地说,是否有一个网站/文档集可以解释错误陈述的含义?

2 个答案:

答案 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代码吗?这意味着你有额外的?在您未设置值的声明中。