通过JDBC更新用户密码不起作用

时间:2019-02-21 09:39:10

标签: java mysql jsp jdbc

这是相关的代码

createconn = new CreateConnection();
con = createconn.connect_to_database();
String SQL = "UPDATE User SET Password = SHA2(?,512) WHERE Login = ? AND Password = SHA2(?,512)";
stmt = con.prepareStatement(SQL);
stmt.setString(1, NewPassword);
stmt.setString(2, Login);
stmt.setString(3, CurrentPassword);
int count = stmt.executeUpdate();
System.out.println("Rows affected: " + count);

count始终设置为0,即即使当前密码正确也不会更新任何行。更糟糕的是,没有异常发生。 (即使当前密码错误)

当我使用固定的语句(对三个参数使用固定的值)时,代码会起作用,而不是这样编写。

整个代码都在一个函数中,该函数将三个参数作为参数。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

PASSWORD是保留字,也许工作台更宽容/更智能。尝试在周围添加刻度线。

`Password`