0

JOptionPane 没有显示..请检查我的代码:

public void actionPerformed(ActionEvent e) {
     // TODO Auto-generated method stub
     //if (e.getActionCommand().equals("Ok")){
     if ( e.getActionCommand().equals(btnOk) ){
              if(connect(txtUser.getText(), txtPass.getText() ) ) {
                  JOptionPane.showMessageDialog(null, "WARNING", "Valid user!", JOptionPane.INFORMATION_MESSAGE);
              }
              else {
                        System.out.print("Wrong password!");
              }

     }
 }

我的连接方法,请检查这个。

public boolean connect(String usr, String pwd){

     try {
         Class.forName("com.mysql.jdbc.Driver");
         connection = DriverManager.getConnection(
                     "jdbc:mysql://localhost:3306/USERS", "root", "root" );
          PreparedStatement ps = 
                  connection.prepareStatement( "SELECT lname, fname FROM employees where fname=? and lname =?" );
          ps.setString(1,usr);
          ps.setString(2,pwd);

         resultSet = ps.executeQuery();


       if(resultSet.next()) {
                return true;
       }

     } catch (Exception e) {
         e.printStackTrace();
     }

     return false;
 } // end of connect method

我不知道我的代码有什么问题。任何帮助,将不胜感激。谢谢

4

1 回答 1

2

如果不打印密码错误!这意味着它没有通过这e.getActionCommand().equals(btnOk)条线。确保btnOk是一个字符串,并且它是您要查找的字符串。

如果它打印Wrong password,这就是为什么会发生这种情况。

btnOk对我来说听起来像是一个按钮,而不是一个字符串(但没有任何额外的代码片段,我们只需要猜测),所以小心不要测试字符串 actionCommand 和按钮之间的相等性。

于 2012-07-12T09:06:58.723 回答