一致,具体代码如下
JButton jb52 = new JButton("登录");
jb52.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String a = jtf1.getText();
String b = jtf2.getText();
System.out.println(a);
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,
user, password);
Statement stat = conn.createStatement();
ResultSet count1 = stat.executeQuery("select username from mytable where username='"+a+"'" );
count1.next();
System.out.println("111111111111111111111111111111111111111111111111");
if(count1.getString("username")!=null){
System.out.println(count1.getString(1));
}
ResultSet count2 = stat.executeQuery("select password from mytable where password='"+b+"'" );
count2.next();
if(count2.getString("username")!=null){
System.out.println(count2.getString(1));
}
这样只能检测是否有某个密码,不能检测与某个用户名匹配的密码,求大神指教啊!!!!
不行啊,它只能检测出username来,password不管是什么,都能显示出来
追答你这样写:
JButton jb52 = new JButton("登录");
jb52.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String a = jtf1.getText();
String b = jtf2.getText();
System.out.println(a);
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,
user, password);
Statement stat = conn.createStatement();
ResultSet count1 = stat.executeQuery("select username from mytable where username='"+a+"'" );
//如果用户名存在,验证该用户名的密码
if(count1.next()){
// 取出该用户名对应的密码
ResultSet count2 = stat.executeQuery ("select password from mytable where username='"+a+"'" );
if(count2.next()){
//如果该用户对应的密码与输入的密码相等,说明验证通过
if(count2.getString("password").equels(b)){
System.out.println(count2.getString(1));
}
}
}