-1

伙计们,我整天都在尝试让我的 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);
    }
}}
4

1 回答 1

0

您的问题在于这两行:

new managerCorner();
managerCorner.setDefaultLookAndFeelDecorated(true);

很可能,这不是您想要做的。它甚至不会编译。如果你这样写,你更有可能是正确的:

corner = new managerCorner();
corner.setDefaultLookAndFeelDecorated(true);

我不完全确定这会奏效,但我没有足够的信息来确定它。


正如 Morrison Chang 所指出的,也没有代码来设置PreparedStatement. 也许这也是一个问题?

于 2013-10-20T21:44:12.393 回答