[英]Else statement not executing inside while loop of SQL database
else 语句在 while 循环中不起作用
public void loginButton() throws ClassNotFoundException, SQLException{
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/finditdb","root","root");
Statement stmt = con.createStatement();
String usernameInput = usernameField.getText();
String passwordInput = passwordField.getText();
ResultSet rs = stmt.executeQuery("SELECT * FROM finditdb.login WHERE username like '" + usernameInput +"' and password like '" + passwordInput +"'");
while(rs.next()){
String usernameDb = rs.getString("username");
String passwordDb = rs.getString("password");
if(usernameInput.equals(usernameDb) && passwordInput.equals(passwordDb)){
System.out.println("Access Granted..");
}
else {
System.out.println("Access denied..");
}
}
}
你可以试试这个,让我知道它是否按你想要的方式工作。
while(true){
if(rs.next()){
String usernameDb = rs.getString("username");
String passwordDb = rs.getString("password");
if(usernameInput.equals(usernameDb) && passwordInput.equals(passwordDb)){
System.out.println("Access Granted..");
break;
}
}
else{
System.out.println("Access denied..");
break;
}
}
我们没有在while loop
括号中提到任何退出条件,所以循环一直运行直到没有更多的记录可以获取(否则将打印Access denied
和 break)或者如果访问被授予(再次中断)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.