如何修复 Java 中指出无法解析变量的错误?

How do I fix an error in Java which states that variable cannot be resolved?

我正在开发一个 Web 应用程序,其中不同类型的用户存储在数据库的不同 table 中。我正在尝试实施登录验证,其中接受电子邮件和密码。当我 运行 附加代码时,错误指出无法解析变量 rs1。我是软件开发的初学者,所以我尽量保持代码的基本性。 `// 登录验证 - 从登录表单中检索电子邮件和密码,并根据数据库的 'patient' table 检查以验证它们。如果电子邮件和密码正确,用户将登录。如果电子邮件和密码不正确,将向用户显示错误消息。

Connection conn = null;
try {
                String Email = request.getParameter("Email");
                String Password = request.getParameter("Password");
                Class.forName("com.mysql.cj.jdbc.Driver");

                conn = DriverManager.getConnection(
                                "jdbc:mysql://localhost:3306/telehealthsystem?autoReconnect=true&useSSL=false",
                                "root",
                                "Phoenix_204"
                        );
        PreparedStatement pst = conn.prepareStatement("Select P_Email,P_Password from patient where P_Email=? and P_Password=?");
        pst.setString(1, Email);
        pst.setString(2, Password);
        ResultSet rs = pst.executeQuery();                        
        if(rs.next()) {          
            out.println("Valid login credentials");       
        } else {
               PreparedStatement pst1 = conn.prepareStatement("Select Admin_Email, Admin_Password from administrator where Admin_Email =? and Admin_Password =?");
               pst1.setString(1, Email);
               pst1.setString(2, Password);
               ResultSet rs1 = pst1.executeQuery();}
                if(rs1.next()) {           
                    out.println("Valid login credentials"); 
                } else {
                out.println("Invalid login credentials"); }
                      
   }
   catch(Exception e){       
       out.println("Something went wrong !! Please try again");       
   }        
`

在定义rs1之后直接有一个右括号。

ResultSet rs1 = pst1.executeQuery();}

所以bracked后rs1不在访问范围内

你在ResultSet rs1 = pst1.executeQuery();}之后添加了“}”,这将关闭rs1的范围直到这个区域。因此,请正确格式化代码并在 rs1 对象的 if-else 条件之后使用括号“}”。