这是我第一次处理Oracle,并且我很难理解为什么我收到此错误。Oracle“ORA-01008:未绑定所有变量”错误(带参数)
我使用的是Oracle的ODT.NET W/C#与查询的WHERE子句在下面的代码:
WHERE table.Variable1 = :VarA
AND (:VarB IS NULL OR table.Variable2 LIKE '%' || :VarB || '%')
AND (:VarC IS NULL OR table.Variable3 LIKE :VarC || '%')
和我添加的参数值,像这样:
cmd.Parameters.Add("VarA", "24");
cmd.Parameters.Add("VarB", "test");
cmd.Parameters.Add("VarC", "1234");
当我运行此查询,服务器返回:
ORA-01008: not all variables bound
如果我注释掉任何的“AND(....”行,查询补偿成功地成功。
如果我只用两个参数查询,而不是用三个查询,为什么查询会顺利运行?我收到甚至没有任何意义的错误
您能够使用DBMS_OUTPUT在执行之前打印出来的SQL语句? – 2009-09-14 15:47:52