如何修复 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 条件之后使用括号“}”。
我正在开发一个 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 条件之后使用括号“}”。