sql检查java数据库中的用户名和密码,如果为false,则给出错误的密码消息
我想显示一个错误的用户名&;将输入的用户名和密码与java用户数据库进行比较后输入密码
问题是它对每一行执行if-else语句,直到它到达显示“用户名和密码正确”的正确b4行,但我希望它对所有行进行检查,如果它不存在,则显示“请检查用户名和密码”
注意:请忽略命名约定问题在于while、if和任何其他推荐的循环语句的安排,但我不确定如何组织它以获得我想要的结果
这是我的代码和注释
public void displayUsers(String f, String s) {
try {
String queryString = "SELECT SName, SPwd FROM staff";
ResultSet results = Statement.executeQuery(queryString);
while (results.next()) {
String staffname = results.getString("snameeee");
String password = results.getString("SPwd");
if ((f.equals(staffname)) && (s.equals(password))) {
JOptionPane.showMessageDialog(null, "Username and Password exist");
}else {
//JOptionPane.showMessageDialog(null, "Please Check Username and Password ");
}
results.close();
} catch (SQLException sql) {
out.println(sql);
}
# 1 楼答案
首先,不要以明文形式存储密码。其次,加载所有记录是执行上述代码的非常错误的方法
# 2 楼答案
# 3 楼答案
不,你做错了
加载所有记录不是检查凭据的好做法
将
username
参数传递给查询并签入数据库1)如果没有用户,告诉
username
不存在2)如果用户存在,则与现有数据库用户
password.
检查password