2013-10-13 31 views
1

我在如何连接我的两个类时遇到问题。我想要发生的是,当用户登录时,GradingSystem类将运行并根据我的MS ACCESS数据库自动显示用户的信息。不知何故,我不知道如何调用或连接登录类到其他类。如何在登录后向另一个班级显示用户信息?

登录分类

private class ButtonHandler implements ActionListener{ 
    @Override 
    public void actionPerformed(ActionEvent e) { 
    DatabaseDriver driver = new DatabaseDriver(); 
    Object source = e.getSource(); 

    if (source == btnLogin) { 
     try { 
     String username = txtUserName.getText(); 
     String password = String.valueOf(txtPassword.getPassword()); 
     String query = 
       "Select username,password from [useraccount] where [username]='" 
       + username + "' and [password]='" + password+"'"; 
     driver.selectQuery(query); 
     ResultSet rsLogin = driver.rs; 
     if (rsLogin.next()) { 
      String logo = "img/seal_TIP.png"; 
      java.net.URL addURL = getClass().getClassLoader().getResource(logo); 
      ImageIcon image1 = new ImageIcon(addURL); 
      JOptionPane.showMessageDialog(null, "Welcome to your TIP account.", 
        "Login Success", JOptionPane.INFORMATION_MESSAGE, image1); 
      dispose(); 
      new GradingSystem().run(); 
     } else { 
      JOptionPane.showMessageDialog(null, "Incorrect Username or Password.", 
        "User Not Found!", JOptionPane.INFORMATION_MESSAGE); 
     } 
     } catch (SQLException ex) { 
     } 

GRADINGSYSTEM CLASS

DatabaseDriver driver = new DatabaseDriver(); 

String query = "Select lastName from [useraccount] where [username]='" 
       +login.username+"' and [password]='"+login.password+"'"; 
driver.selectQuery(query); 
ResultSet rsGradingSystem = driver.rs; 
    try { 
    if (rsGradingSystem.next()) { 
     JLabel studName= new JLabel("Name: "); 
     studName.setBounds(15,60,150,20); 
     add(studName); 
    } 
    } catch (SQLException ex) { 
    } 

回答

1

您可以使用您的登录类中的一些静态字段,并登录后填充它们,然后在GradingSystem类,你可以使用它们。

类似:

public static string UserName; 
public static string Password; 

和GradingSystem使用:

DatabaseDriver driver = new DatabaseDriver(); 

String query = "Select lastName from [useraccount] where [username]='"+Login.UserName+"' and [password]='"+Login.Password+"'"; 
driver.selectQuery(query); 
ResultSet rsGradingSystem = driver.rs; 
    try { 
     if (rsGradingSystem.next()) { 
      JLabel studName= new JLabel("Name: "); 
      studName.setBounds(15,60,150,20); 
      add(studName); 
     } 
    } catch (SQLException ex) { 

    } 

不要忘记在登录后,以填补他们

相关问题