我正嘗試通過基於舊SSN搜索它們並更新它來更新客戶的SSN。我錯過了什麼?這不會返回結果,即使我知道我有匹配數據庫中的ssNum。謝謝。Java更新聲明問題
String query = "UPDATE Customers SET ss_num = ('" + updateSsn
+ "') WHERE ss_num = ('" + ssNum + "')";
我正嘗試通過基於舊SSN搜索它們並更新它來更新客戶的SSN。我錯過了什麼?這不會返回結果,即使我知道我有匹配數據庫中的ssNum。謝謝。Java更新聲明問題
String query = "UPDATE Customers SET ss_num = ('" + updateSsn
+ "') WHERE ss_num = ('" + ssNum + "')";
這類型的查詢是不安全的(容易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);
您應該指定您的DBMS和一個已經拋出 –
請使用PreparedStatement的一個參數化查詢,以防止類似的事情SQL注入例外。 –