ORA-01008: 並非所有變量都已綁定


使用oracle數據庫過程中,偶爾遇到 ORA-01008: 並非所有變量都已綁定 這個錯誤,此時應該查檢sql中是否有以下情況:

1、var sql = string.Format("select * from student t where t.name='{0}' and t.address='{1}'", name); 此時編譯不會報錯,當執行sql時就會報“ ORA-01008: 並非所有變量都已綁定 ”,原因是sql里有兩個參數,你只給第一個參數綁定值,沒有給第二個參數綁定值;

2、var sql = "select * from student t where t.name= :item";

string name = null;

List<OracleParameter> list = new List<OracleParameter>();
list.Add(new OracleParameter(":item",name ));

執行sql時如果沒有把null 轉化為DbNull同樣也會報以上錯誤

此時,應加

foreach (OracleParameter parm in parms)
           {
               if (parm.Value == null)
                   parm.Value = DBNull.Value;
           }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM