Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(Java/MYSQL)根据MYSQL表检查用户登录,变量显示null,即使数据取自表_Java_Mysql_If Statement_Login_Nul - Fatal编程技术网

(Java/MYSQL)根据MYSQL表检查用户登录,变量显示null,即使数据取自表

(Java/MYSQL)根据MYSQL表检查用户登录,变量显示null,即使数据取自表,java,mysql,if-statement,login,nul,Java,Mysql,If Statement,Login,Nul,我使用GUI用户登录来检查MYSQL中的用户表 我有一条记录硬编码到MySQL数据库中,用户名和密码设置为admin 我正试图回拨这个,并在我的GUI中检查它,但我有困难。im连接到DB ok并存储来自DB fine的变量,但是当我检查它们时,它显示变量为空 当我调试代码时,我可以在doGetAdminUsers()方法中看到,在while循环中使用正确的数据填充变量。但是,当我单击buttton以检查用户输入的登录名是否与相同的变量一致时,即使这些变量未在本地声明,它们也显示为null 有什么

我使用GUI用户登录来检查MYSQL中的用户表

我有一条记录硬编码到MySQL数据库中,用户名和密码设置为admin

我正试图回拨这个,并在我的GUI中检查它,但我有困难。im连接到DB ok并存储来自DB fine的变量,但是当我检查它们时,它显示变量为空

当我调试代码时,我可以在doGetAdminUsers()方法中看到,在while循环中使用正确的数据填充变量。但是,当我单击buttton以检查用户输入的登录名是否与相同的变量一致时,即使这些变量未在本地声明,它们也显示为null

有什么想法吗

代码如下

//此方法从表的位置1向数据库查询名称和密码字段。已经硬编码好了

public void doGetAdminUsers() {

    String queryName = "SELECT name FROM users WHERE user_id = 1";

    String queryPassword = "SELECT pass_word FROM users WHERE user_id = 1";

    try {
        //connecting to DB 
        Statement st = conn.createStatement();
        //running the query and storying results 
        ResultSet rs1 = st.executeQuery(queryName);
        while (rs1.next()) {
            adminNameFromDB = rs1.getString(1);
        }

        ResultSet rs2 = st.executeQuery(queryPassword);
        while (rs2.next()) {
            adminPasswordFromDb = rs2.getString(1);
        }

    } catch (SQLException ex) {
        System.err.println(ex.getMessage());
    }

}
//这是用户在指定的GUI字段中输入用户名和密码后“我的启动”按钮的方法

private void LoginBtnActionPerformed(java.awt.event.ActionEvent evt) {                                         

    name = userNameTf.getText();
    password = passwordTf.getText();


    if (name.equals(adminNameFromDB) && (password.equals(adminPasswordFromDb))) {
        myHomeGUI.setVisible(true);
    } else  
    {
        JOptionPane.showMessageDialog(null, "Incorrect login name or password");
    }  
}  

//doGetAdminUsers()方法在启动应用程序的主类中被调用

不要对
字符串使用
=
,你能发布一个(使用
字符串#等于
;o)更新的if语句到String.equals吗。原来的问题仍然存在。