2012-12-01 132 views
0

我正嘗試通過基於舊SSN搜索它們並更新它來更新客戶的SSN。我錯過了什麼?這不會返回結果,即使我知道我有匹配數據庫中的ssNum。謝謝。Java更新聲明問題

String query = "UPDATE Customers SET ss_num = ('" + updateSsn 
       + "') WHERE ss_num = ('" + ssNum + "')"; 
+1

您應該指定您的DBMS和一個已經拋出 –

+0

請使用PreparedStatement的一個參數化查詢,以防止類似的事情SQL注入例外。 –

回答

1

你需要使用executeUpdate()方法,該方法不返回ResultSet,但它會返回numberOfRowsUpdated

使用PreparedStatement代替

+0

謝謝!這是executeUpdate()這個問題。 – Gluons

+0

歡迎您(也將其標記爲接受:)) –

+0

它說我還有兩分鐘,直到我可以接受....我會的。再次感謝。 – Gluons

3

這類型的查詢是不安全的(容易SQL injection)。寫下您的查詢,如下所示,並使用PreparedStatement

String query = "UPDATE Customers SET ss_num = ? WHERE ss_num = ?"; 
PreparedStatement ps = con.prepareStatement(query); 
ps.setString(1, updateSsn); 
ps.setString(2, ssnNum);