0

古いSSNに基づいて顧客を検索して更新することにより、顧客のSSNを更新しようとしています。私は何が欠けていますか?データベースにssNumに一致するものがあることがわかっていても、これは結果を返しません。ありがとう。

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

2 に答える 2

3

このタイプのクエリは安全ではありません( SQLインジェクションに対して脆弱です)。次のようにクエリを記述し、以下を使用しますPreparedStatement

String query = "UPDATE Customers SET ss_num = ? WHERE ss_num = ?";
PreparedStatement ps = con.prepareStatement(query);
ps.setString(1, updateSsn);
ps.setString(2, ssnNum);
于 2012-12-01T02:30:50.593 に答える
1

executeUpdate()を返さないメソッドを使用する必要がありますがResultSetnumberOfRowsUpdated

PreparedStatement代わりに使用してください

于 2012-12-01T02:20:19.333 に答える