怎么判断密码文本框和数据库中的值相等,我的代码如下,可是if语句判断之后总是false,不知道哪里出问题 15
login.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){t...
login.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
Connection co=Connect.conn("shop");
Statement stmt=co.createStatement();
String b=ID.getText();
ResultSet rs=stmt.executeQuery("select * from Users where ID='"+b+"'");// ID是一个文本框,用于得到用户输入id
rs.next();
String d=rs.getString(1);//数据库中有三列,前后顺序是id,passwords,stationcode
String a=rs.getString(2);
String c=rs.getString(3);
System.out.println(c);
System.out.println(a);
if(a==psw.getPassword().toString()){//psw是一个密码文本框,用于得到输入用户密码
System.out.println(d);
if(c=="01")
{MainWindow_B p=new MainWindow_B();
p.ClerkCode.setText(d);
p.setVisible(true);
}
else if(c=="02")
{MainWindow_M p=new MainWindow_M();
p.ClerkCode.setText(a);
p.setVisible(true);
}
else
{MainWindow_E p=new MainWindow_E();
p.ClerkCode.setText(a);
p.setVisible(true);
}
}
} catch (ClassNotFoundException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
}
});
球大神求解脱,我用的是2000sqlserver 展开
public void actionPerformed(ActionEvent e) {
try {
Connection co=Connect.conn("shop");
Statement stmt=co.createStatement();
String b=ID.getText();
ResultSet rs=stmt.executeQuery("select * from Users where ID='"+b+"'");// ID是一个文本框,用于得到用户输入id
rs.next();
String d=rs.getString(1);//数据库中有三列,前后顺序是id,passwords,stationcode
String a=rs.getString(2);
String c=rs.getString(3);
System.out.println(c);
System.out.println(a);
if(a==psw.getPassword().toString()){//psw是一个密码文本框,用于得到输入用户密码
System.out.println(d);
if(c=="01")
{MainWindow_B p=new MainWindow_B();
p.ClerkCode.setText(d);
p.setVisible(true);
}
else if(c=="02")
{MainWindow_M p=new MainWindow_M();
p.ClerkCode.setText(a);
p.setVisible(true);
}
else
{MainWindow_E p=new MainWindow_E();
p.ClerkCode.setText(a);
p.setVisible(true);
}
}
} catch (ClassNotFoundException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
}
});
球大神求解脱,我用的是2000sqlserver 展开
3个回答
展开全部
密码是原始密码,还是加密后的密码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试过equals()方法了没?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把psw.getPassword().toString()赋值给一个变量,比如说b,然后跟踪,分别看看a和b的值是多少?都是怎么得到的?就知道怎么回事了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询