2016-11-29 38 views
1

我沒有收到編輯按鈕的這個錯誤,但是當我按下保存按鈕時我收到了這個錯誤。看起來好像我所有的參數都在那裏,但也許我錯過了一些東西。我已經一遍又一遍地重複了保存按鈕的代碼,但似乎無法理解什麼是錯誤的。我希望它做的是根據用戶輸入的零件號和到期日覆蓋特定記錄的數據。SQLException「沒有爲參數3指定值」

PreparedStatement myquery3;    
String InsertQuery3 = " UPDATE TABLE AllRecords SET DueDate = ? WHERE WorkOrderID = ?" 
         + "values(?,?)";      
myquery3 = conn.prepareStatement(InsertQuery3); 
myquery3.setString(1, duedate); 
myquery3.setString(2, workorder); 
myquery3.execute(); 
+2

您提交的類搖擺罪:所有的代碼在一個類中。您已經掌握了控制檯I/O,Swing和數據庫交互,並以一種方法混合在一起。如果開始將問題分解爲單獨的類並對其進行單元測試,則會更快。 'InsertQuery3'中的 – duffymo

+0

有4個預期的參數,但你只設置了兩個 –

+1

InsertQuery2和InsertQuery3看起來像很奇怪的插入查詢。 – Berger

回答

3

這就是問題所在:

String InsertQuery2 = "UPDATE TABLE Sample SET PartNumber = ? WHERE WorkOrderID = ?" 
          + "values(?,?)";      
       myquery2 = conn.prepareStatement(InsertQuery2); 
       myquery2.setString(1, partnumber); 
       myquery2.setString(2, workorder); 
       myquery2.execute(); 

定義4佔位符,但只有兩個被設置。

你對InsertQuery3做了同樣的錯誤。

作爲旁註。正確的更新SQL的樣子:update table fubar set col1 = ? where id = ?

values用於insert

+0

那麼,不是相同的查詢,但你更快^^請不要說下一個有同樣的問題。 'InsertQuery3'。並且有4個佔位符 – AxelH

+2

values子句甚至不是有效的SQL。這應該是INSERT的一部分,而不是更新。 – duffymo

+0

是的,你評論,因爲我做了一個編輯。 –

相關問題