這是我第一次處理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