本文目录一览:
- 1、Java preparestatement 报错 java.sql.SQLException: ORA-01008: 并非所有变量都已绑定
- 2、怎么解决ORA-01008:并非所有变量都已绑定
- 3、SQL参数异常或者SQL语句语法错误,并非所有变量都已绑定 执行错误
- 4、求已SQL语句报错的问题,报什么并非所有的变量都已绑定,代码在补充中:
Java preparestatement 报错 java.sql.SQLException: ORA-01008: 并非所有变量都已绑定
//PreparedStatement 不是你这样用的改成这样
PreparedStatement ps= con.prepareStatement("UPDATE CUSTOMER SET MONEY = MONEY-? WHERE ID = ?");
ps.setDouble(1, money);
ps.setInt(2, id2);
ps.executeUpdate();
像你这样ps.execute("UPDATE CUSTOMER SET MONEY = MONEY-? WHERE ID = ?");这个sql就直接执行了。所有?的值还没绑定,后面的ps.set其实已经没用了已经执行了明白了吧。-并非所有变量都已绑定
有问题请追问。
怎么解决ORA-01008:并非所有变量都已绑定
参数位的设定值不对。
sSQL = "insert into psymmetrical"
+ "(puid,frockpuid,frockid,frockname,symmetricalid,symmetricalfrockid,symmetricalfrockname," +
"symmetricaldate,temp1,temp2,temp3,temp4,temp5,createUser,createUserID)"
+ " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
stmt = conn.prepareStatement(sSQL);
stmt.setString(1,SyObject.puid);
stmt.setString(1,SyObject.frockpuid); // 这里参数位
stmt.setString(1,SyObject.frockId); //还有这里参数位
stmt.setString(4,SyObject.frockName);
stmt.setString(5,SyObject.symmetricalId);
stmt.setString(6,SyObject.symmetricalFrockId);
stmt.setString(7,SyObject.symmetricalFrockName);
stmt.setString(8,SyObject.symmetricalDate);
stmt.setString(9,SyObject.temp1);
stmt.setString(10,SyObject.temp2);
stmt.setString(11,SyObject.temp3);
stmt.setString(12,SyObject.temp4);
stmt.setString(13,SyObject.temp5);
stmt.setString(14,SyObject.createUser);
stmt.setString(15,SyObject.createUserID);
stmt.executeQuery();
SQL参数异常或者SQL语句语法错误,并非所有变量都已绑定 执行错误
里面有二个变量
ai.rec_staus= ?
TO_DATE(?,
你调用时,要将实际值传进去,才行。
求已SQL语句报错的问题,报什么并非所有的变量都已绑定,代码在补充中:
报的错误是not all variables bound(并非所有的变量都已绑定)对吧?语句错误的来源是
'BEGIN SELECT count(carinfoid) INTO :1 FROM test ; END
这句话是作为一个语句来单独执行的,是脱离你这个过程,自己去执行的,把他单拿出来执行就会报这个错误。
如果你不动态执行它,应该就没问题了。而且INTO :1是什么?