Java Update语句问题

时间:2012-12-01 02:18:16

标签: java jdbc

我正在尝试通过基于旧SSN搜索它们然后更新它来更新客户的SSN。我错过了什么?即使我知道数据库中的ssNum匹配,这也不会返回结果。感谢。

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

您需要使用executeUpdate()方法,该方法不返回ResultSet,但会返回numberOfRowsUpdated

使用PreparedStatement代替