netbeans 如何在java中实现给定数据与数据库数据逐一比较

vpfxa7rd  于 2022-12-04  发布在  Java
关注(0)|答案(1)|浏览(182)
String name= uname.getText();
String password=new String (PassW.getPassword());
    
try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/attms?autoReconnect=true&useSSL=false","root","");
    
   Statement stm= con.createStatement();
   String q="SELECT * FROM admin;";                             

    ResultSet rs= stm.executeQuery(q);
   
    while (rs.next())
    {
        String user= rs.getString("Username");
        String pass= rs.getString("Password");
    
        if(name.equals(user)&& password.equals(pass)) {
            JOptionPane.showMessageDialog(null, "Welcome " +name ,"Login Successfull", JOptionPane.PLAIN_MESSAGE);
            new AdminFrame().setVisible(true);
            this.dispose();
        } else {
            JOptionPane.showMessageDialog(this,"Invalid Username&Password","",JOptionPane.ERROR_MESSAGE);
             
        }  
    }

我想将给定的用户名与数据库中存储的用户名数据逐一进行比较,如果条件为真,则允许进入此代码中的另一帧。我使用if语句,它只检查一个数据

carvr3hs

carvr3hs1#

if-else应该在循环之外当前如果第一个用户不匹配,您将认为根本没有匹配
1.如果找到匹配项,则使用布尔变量
1.在循环中,检查是否匹配,如果找到,则设置为true并中断循环,否则继续循环
1.检查循环外变量
此外,如果您从数据库中按用户名获取一个用户,然后检查密码是否匹配,则效果会更好,无需遍历所有用户。

相关问题