1. 程式人生 > >java程式出現問題:java.sql.SQLException: ORA-01008: 並非所有變數都已繫結

java程式出現問題:java.sql.SQLException: ORA-01008: 並非所有變數都已繫結

異常提示是 並非所有變數都已繫結,實際上從sql語句上看是沒有問題,直接使用在資料庫也是有效的,那麼他為什麼會報ORA-01008: 並非所有變數都已繫結,這個這個問題一般出現在sql語句,因為程式寫的sql語句可能出現所查詢沒有的欄位,而此處sql語句沒有錯誤,出問題的地方是preparedStatemnt.executeUpdate(sql)這條語句,這是使用PreparedStatement物件來執行sql語句,他的作用是防止客戶端注入問題,他呼叫的是preparedStatement = connection.prepareStatement(sql,new String[]{"FID"});

來執行sql語句,所以在下面的preparedStatemnt.executeUpdate(sql),就不要在放參數了,改成preparedStatemnt.executeUpdate(),程式問題解決。