更新密码不起作用

时间:2017-07-25 03:48:00

标签: java jdbc

我的更新密码查询无效。我不知道为什么。没有显示错误报告。

public class CpassDao extends ActionSupport {

    private static final long serialVersionUID = 1L;

    public static boolean validate(String username,String password,String npass) {
        boolean status = false;
        ChangePass cp = new ChangePass();

        try {
            Connection con = DBConnection.getConnection();
            PreparedStatement ps = con.prepareStatement("select * from doctable where username=? and password=?");

            ps.setString(1, username);
            ps.setString(2, password);

            ResultSet rs= ps.executeQuery();
            status = rs.next();

            if(true) {
                PreparedStatement ps1 = con.prepareStatement("update details set password=? where username=?");
                ps1.setString(1, cp.getNpass());
                ps1.setString(2, cp.getUsername());
                ps1.executeUpdate();
            }
        }

        catch (Exception ex) {
            ex.printStackTrace();

            return status;
        }

        return status;
    }
}

3 个答案:

答案 0 :(得分:0)

已创建cp但您未能使用用户名或密码进行分配,因此更新将为空用户名。

顺便说一句,你有if(true)这是不必要的吗?你的意思是使用rs.hasNext()吗?

答案 1 :(得分:0)

我认为您在更新后忘记了commit命令。 :)

答案 2 :(得分:0)

我找到了答案并解决了问题。现在使用新数据更新数据库。在if语句之后,而不是给予 “ps1.setString(1,cp.getNpass());”我给了“ps1.setString(1,npass());”。就这样。问题解决了。谢谢你的建议朋友。