この認証に基づいてmanagerCorner GUIを実行しようとして、一日中これに取り組んできました。正しい値、つまりデータベースの値を使用して、managerLogin() メソッドが managerCorner GUI インターフェイスへのアクセスを許可するかどうかを確認しましたが、機能しませんでした。ユーザー認証を処理するフォームを持つ LoginInterface クラスがあります。正しい値でログインしようとしましたが、if(rset.next())... 内の managerCorner GUI クラスが呼び出されず、例外やエラーのフラグが立てられません! これはなぜですか?
public void managerLogin(int id, String usn, String pwd) {
try {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ phoneShopSystem","aknessy", dbLogin.db());
String query = "SELECT managerID, managerUsername, managerPwd"
+ "FROM `manager` WHERE managerID = ? AND managerUsername = ? AND managerPwd = ?";
java.sql.PreparedStatement pst= con.prepareStatement(query,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
int i = rset.getInt(1);
String u = rset.getString(2);
String p = rset.getString(3);
rset = pst.executeQuery();
if(rset.next()){
if((i == id) && (u.equals(usn)) && (p.equals(pwd))){
new managerCorner();
managerCorner.setDefaultLookAndFeelDecorated(true);
}else{
JOptionPane.showMessageDialog(null, "The User: "+ usn +" With ID "+ id + " \n"
+ "Does Not Exist!", "\nLogin Failed!", JOptionPane.OK_OPTION);
}
rset.close();
con.close();
}catch(SQLException sql){
JOptionPane.showMessageDialog(null, sql.getMessage(),"SQL ERROR!!!",JOptionPane.OK_OPTION);
}
}}