(Java/MYSQL)根据MYSQL表检查用户登录,变量显示null,即使数据取自表
我使用GUI用户登录来检查MYSQL中的用户表 我有一条记录硬编码到MySQL数据库中,用户名和密码设置为admin 我正试图回拨这个,并在我的GUI中检查它,但我有困难。im连接到DB ok并存储来自DB fine的变量,但是当我检查它们时,它显示变量为空 当我调试代码时,我可以在doGetAdminUsers()方法中看到,在while循环中使用正确的数据填充变量。但是,当我单击buttton以检查用户输入的登录名是否与相同的变量一致时,即使这些变量未在本地声明,它们也显示为null 有什么想法吗 代码如下 //此方法从表的位置1向数据库查询名称和密码字段。已经硬编码好了(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 有什么
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吗。原来的问题仍然存在。