并非所有变量都已绑定

日期:2024-01-13 10:09:59 作者:me

并非所有变量都已绑定

怎么解决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();

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其实已经没用了已经执行了明白了吧。

有问题请追问。

SQL参数异常或者SQL语句语法错误,并非所有变量都已绑定 执行错误

里面有二个变量

ai.rec_staus= ?

TO_DATE(?,

你调用时,要将实际值传进去,才行。

[Error Code: 1008, SQL State: 72000] ORA-01008: 并非所有变量都已绑定

看where子句。

where 1=1  and tharvestad0_.MODE_ID=?   

这个问号处,有问题吧。

.net 访问Oracle数据库,出现 ORA-01008: 并非所有变量都已绑定,下面是方法源码,大神指点....

把这一句:

strSql.Append(" where (Name=:UserName or UserName=:UserName)");

改成

strSql.Append(" where ([Name]=:UserName or UserName=:UserName)");

试试看吧?

 

另外请确保这两个字段名称没有写错。也请确保传进来的UserName不是空值。

在KETTLE执行一个JOB文件的时候,最后一个转换是UPDATE语句,提示错误--ora-01008:并非所有变量都已绑定

这个问题定位在执行上面这个sql语句出错,报的是数据库错误,你把变量换成常量,试试sql有没有问题,如果还有问题就定位一下转过来的变量的值没有问题

声明: 本文由棘逗网独家原创,未经允许,严禁转载