我只要输入正确的密码在旧密码处,不输入新密码就会显示“修改密码成功”
在新密码那输入密码就显示“两次密码不同”
高手指点下哪出错了,感激不尽
我的界面是:用户名:
输入旧密码:
输入新密码:
确认新密码:
private void buttonActionPerformed(ActionEvent e){
String pass = null;
String userid = null;
pass = String.valueOf(passwordField.getPassword());
userid = String.valueOf(comboBox.getSelectedItem());
String sqlSelect = null;
sqlSelect = "select userid,pass from 用户表 where pass ='"+pass+"' and userid='"+userid+"'";
java.util.Vector vdata = null;
apphm.util.RetrieveObject retrieve = new apphm.util.RetrieveObject();
vdata = retrieve.getObjectRow(sqlSelect);
if(vdata.get(0)==null)
{
new JOptionPane().showMessageDialog(null,"旧密码不正确!");
}
else if((String.valueOf(passwordField_1.getPassword())).equals(String.valueOf(passwordField_2.getPassword()))){
String sqlInsert = "Update 用户表(pass) values('"
+ passwordField_2.getPassword()+"')";
try{
con = CommonaJdbc.conection;
pstmt = con.prepareStatement(sqlInsert);
pstmt.execute();
}catch(java.sql.SQLException sql){
sql.printStackTrace();
}
new JOptionPane().showMessageDialog(null,"密码更改成功!");
}
else{
new JOptionPane().showMessageDialog(null,"两次密码不同!");
}
}
在新密码那输入密码就显示“两次密码不同”
高手指点下哪出错了,感激不尽
我的界面是:用户名:
输入旧密码:
输入新密码:
确认新密码:
private void buttonActionPerformed(ActionEvent e){
String pass = null;
String userid = null;
pass = String.valueOf(passwordField.getPassword());
userid = String.valueOf(comboBox.getSelectedItem());
String sqlSelect = null;
sqlSelect = "select userid,pass from 用户表 where pass ='"+pass+"' and userid='"+userid+"'";
java.util.Vector vdata = null;
apphm.util.RetrieveObject retrieve = new apphm.util.RetrieveObject();
vdata = retrieve.getObjectRow(sqlSelect);
if(vdata.get(0)==null)
{
new JOptionPane().showMessageDialog(null,"旧密码不正确!");
}
else if((String.valueOf(passwordField_1.getPassword())).equals(String.valueOf(passwordField_2.getPassword()))){
String sqlInsert = "Update 用户表(pass) values('"
+ passwordField_2.getPassword()+"')";
try{
con = CommonaJdbc.conection;
pstmt = con.prepareStatement(sqlInsert);
pstmt.execute();
}catch(java.sql.SQLException sql){
sql.printStackTrace();
}
new JOptionPane().showMessageDialog(null,"密码更改成功!");
}
else{
new JOptionPane().showMessageDialog(null,"两次密码不同!");
}
}
应该是:String sqlInsert = "update 用户表 set pass='"
+ passwordField_2.getPassword()+"'";
[/
应该是:
String sqlInsert = "update 用户表 set pass='"
+ passwordField_2.getPassword()+"'";
如果你觉得是逻辑问题,DeBug一下应该就清楚了。还有一点疑问:
pass = String.valueOf(passwordField.getPassword());
passwordField应该是JTextField吧,取值的时候怎么不用getText,感觉你这样取值怪怪的。-----
Quietly through ...
String pass = null;
String userid = null;
pass = String.valueOf(passwordField.getPassword());
userid = String.valueOf(comboBox.getSelectedItem());
String sqlSelect = null;
sqlSelect = "select userid,pass from 用户表 where pass ='"+pass+"' and userid='"+userid+"'";
java.util.Vector vdata = null;
apphm.util.RetrieveObject retrieve = new apphm.util.RetrieveObject();
try{
vdata = retrieve.getObjectRow(sqlSelect);
if(vdata.get(0)==null)
{
new JOptionPane().showMessageDialog(null,"旧密码不正确!");
}
else if((String.valueOf(passwordField_1.getPassword())).equals(String.valueOf(passwordField_2.getPassword()))){
String sqlInsert = "Update 用户表(pass) values('"
+ passwordField_2.getPassword()+"')";
try{
con = CommonaJdbc.conection;
pstmt = con.prepareStatement(sqlInsert);
pstmt.execute();
}catch(java.sql.SQLException sql){
sql.printStackTrace();
}
new JOptionPane().showMessageDialog(null,"密码更改成功!");
}
else{
new JOptionPane().showMessageDialog(null,"两次密码不同!"); }
catch(){}
}
}