try{
if(DB.query(sql)){
DB.rs.next();
String ps1=pas1.getText();
System.out.println("第一个"+ps1);
String password=DB.rs.getString("密码");
System.out.println("旧密码"+password);
if(ps1.equals(password)){
if(pas2.getText().equals(pas3.getText())){
System.out.println("第二个"+pas2);
System.out.println("第三个"+pas3);
String supdate="update Users set 密码='"+ pas3.getText()+"' where 用户名='"+ name +"'";
DB.executeSQL(supdate);
new JOptionPane().showMessageDialog(null,"密码更改成功!");
}
else{
new JOptionPane().showMessageDialog(null,"两次密码不同!");
}
System.out.println("NO");
}
else{
System.out.println("对");
new JOptionPane().showMessageDialog(null,"旧密码不正确!");
}
}
}
运行结果:
String ps1=pas1.getText();
->String ps1=pas1.getText().trim();
pas3.getText()
->pas3.getText().trim()
不对这个试过,不行的
String ps1=pas1.getText(); ->String ps1=pas1.getText().trim(); pas3.getText() ->pas3.getText().trim()
你这逻辑不对啊,一个是“错”这个字在你的代码里根本没有,怎么输出来的?
另外你这个逻辑去掉别的内容就变成下面这样了
if(ps1.equals(password)){
if(pas2.getText().equals(pas3.getText())){
new JOptionPane().showMessageDialog(null,"密码更改成功!");
}
else{
new JOptionPane().showMessageDialog(null,"两次密码不同!");
}
System.out.println("NO");
}
else{
System.out.println("对");
new JOptionPane().showMessageDialog(null,"旧密码不正确!");
}
现在的逻辑是if(ps1.equals(password))条件满足就会System.out.println("NO");