ORA-01008:并非所有的变量都已绑定
http://blog.csdn.net/ansontang1217/article/details/6556392
今天碰到一个很普通的问题:ORA-01008:并非所有的变量都已绑定,看着错误的提示,总以为是自己的变量和值不是对称的,检查了很多遍,最后没撤,还是在网上搜了,搜了很多方法,都说事因为自己的变量和值没有一一对应。后来,无意看到了一句话,可能是因为变量的值是null造成的,而并非值和和变量没有一一对应。经检查发现,确实有一个值是null,不是空格,然后把值改成空格,就好了。在BS系统中,使用 代替空格(bs中空格前台后台存在转义过程)。
希望解决方法可以帮助碰到同样问题的朋友们!
cankykong1:另外再补充一个原因:
就是使用
PreparedStatement st = con.prepareStatement(sql); // 使用预编译
但是执行的时候,这样执行:
st.executeUpdate(sql);
也会报这个错,正确的应该是
st.executeUpdate();
这个错误经常在代码重构的时候犯~~~~
st.executeUpdate(sql);