我正在開發一個 Web 應用程式,其中不同型別的用戶存盤在資料庫的不同表中。我正在嘗試實施登錄驗證,其中接受電子郵件和密碼。當我運行附加代碼時,錯誤表明變數 rs1 無法決議。我是軟體開發的初學者,所以我試圖使代碼盡可能基本。`// 登錄驗證 - 從登錄表單中檢索電子郵件和密碼,并對照資料庫的“患者”表進行檢查以驗證它們。如果郵箱和密碼正確,用戶會登錄。如果郵箱和密碼不正確,用戶會看到錯誤資訊。
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");
}
`
uj5u.com熱心網友回復:
您在 之后添加了“}” ResultSet rs1 = pst1.executeQuery();},這將 rs1 的范圍關閉到該區域。因此,請正確格式化代碼并在 rs1 物件的 if-else 條件之后使用此括號“}”。
uj5u.com熱心網友回復:
在定義 rs1 之后直接有一個右括號。
ResultSet rs1 = pst1.executeQuery();}
所以 rs1 不在這個括號后的訪問范圍內。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/435199.html
上一篇:如何從Struts2中的屬性檔案中獲取源路徑和替代文本值以插入影像?在Struts1中使用了altKey和srcKey
