将 ResultSet.getString 值与来自文本字段的输入进行比较

Compare ResultSet.getString value to an input from textfield

每当我按下登录时,它都会显示捕获消息。

尝试将其设置为 ResultSet.getString(访问中列的名称).equal(文本字段的值)

b1.addActionListener(new ActionListener () 
        {

            public void actionPerformed(ActionEvent e) 
            {
                try
                {
                    String u1=t1.getText();
                    String u2=t2.getText();

                    if (u1==rs.getString("Name") || u2==rs.getString("Pass"))
                    {
                    JOptionPane.showMessageDialog(null, "Success");
                    }
                }
                catch (Exception ex)
                {
                    JOptionPane.showMessageDialog(null, "Invalid");
                }
            }
        });

它总是显示 "Invalid" 的捕获消息。 我的程序也使用 Ucanaccess 来连接 MS access。

字符串比较应该使用 equals 方法

  if (u1.equals(rs.getString("Name")) || u2.equals(rs.getString("Pass")) {

编辑:

此外,添加 ex.printStackTrace();在您的代码中以防出现问题

catch (Exception ex)
  {
    ex.printStackTrace();   
   JOptionPane.showMessageDialog(null, "Invalid");
  }

假设您比较用户名和密码,在这种情况下,您应该使用 && 而不是 ||