出現錯誤:ORA-01008: 並非所有變量都已綁定


 1 public boolean updataEmployee(Connection con,EmployeeVo vaule) {
 2         boolean flag = false;
 3         ResultSet set = null;
 4         
 5         //預編寫sql,用?占位
 6         String sql ="update student set name=? where id=?";  
 7         
 8         //創建PreparedStatement對象
 9         PreparedStatement pstmt = null;
10         
11         try {
12             pstmt = con.prepareStatement(sql);   //預編譯,等待賦值給占位符
13             pstmt.setString(1,vaule.getName());
14             pstmt.setString(2,vaule.getId());
15             
16             int n = pstmt.executeUpdate(sql);
17         } catch (SQLException e) {
18             e.printStackTrace();
19         }
20         
21         return flag;
22     }

報錯 :

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

問題出來第16行,

executeUpdate(sql)這里的參數sql還是上面沒有給占位符賦值的未完成的sql語句,變量都還未賦值,所以會說沒有綁定。
其實再第13 14行執行完之后
PreparedStatement對象里的sql語句已經是完整的了,這參數一加又被覆蓋掉了。

 


免責聲明!

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



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