
异常提示是 并非所有变量都已绑定,实际上从sql语句上看是没有问题,直接使用在数据库也是有效的,那么他为什么会报ORA-01008: 并非所有变量都已绑定,这个这个问题一般出现在sql语句,因为程序写的sql语句可能出现所查询没有的字段,而此处sql语句没有错误,出问题的地方是preparedStatemnt.executeUpdate(sql)这条语句,这是使用PreparedStatement对象来执行sql语句,他的作用是防止客户端注入问题,他调用的是preparedStatement = connection.prepareStatement(sql,new String[]{"FID"});来执行sql语句,所以在下面的preparedStatemnt.executeUpdate(sql),就不要在放参数了,改成preparedStatemnt.executeUpdate(),程序问题解决。
解决ORA-01008错误
本文探讨了在使用PreparedStatement执行SQL语句时遇到的ORA-01008错误:并非所有变量都已绑定的问题。通过调整executeUpdate方法的调用方式,去除多余的参数,成功解决了这一常见数据库异常。
533

被折叠的 条评论
为什么被折叠?



