gpt4 book ai didi

java - 如何检索数据库中已保存的字段?

转载 作者:行者123 更新时间:2023-11-30 00:32:14 25 4
gpt4 key购买 nike

验证登录.java

public boolean testLogin(LoginHandler user)
{
String query = null;

try
{
stmt = connect.createStatement();
query = "SELECT * FROM users WHERE UserName = '"+user.getUsername()+"'";
rs = stmt.executeQuery(query);
rs.next();

if(rs.getString(2).equals(user.getUsername()) && rs.getString(3).equals(user.getPassword()))
{
this.closeDB();
return true;
}
else
{
JOptionPane.showMessageDialog(null,"Login Failed: Invalid Password");
}
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null,"Login Failed: Invalid Username");
}

this.closeDB();
return false;
}

LoginHandler.java

public boolean verifyUser()
{
if(super.testLogin(this))
{
mainWindow mainwindow = new mainWindow();
mainwindow.setVisible(true);
return true;
}
return false;
}

我已经将用户名和密码字段保存在我的数据库中。我如何在我的登录窗口中检索它们???

每次我输入用户名和密码时..它显示的消息是:“登录失败:密码无效”

有人帮忙吗?

最佳答案

试试这个

PreparedStatement ps = connect.prepareStatement("SELECT * FROM users WHERE UserName =?");
ps.setString(1,user.getUsername());
rs = ps.executeQuery();

使用列名而不是索引值uname 和 pass 是可变的

while (rs.next()) {
uname=rs.getString("UserName");
pass=rs.getString("Password");
}
if(uname.equals(user.getUsername()) && pass.equals(user.getPassword()))
{
this.closeDB();
return true;
}

关于java - 如何检索数据库中已保存的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22422974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com