[英]java- using select statement in java code not being assigned to variable
我有一个Java程序,我试图匹配文本字段输入中的用户名和密码,然后与该列表的“用户名”和“密码”列中的rs列表进行比较,但似乎变量没有获得用户名并通过到它并导致循环失败,并返回结果为false,从而拒绝访问。 我不明白为什么它曾经工作。 以及为什么如果我尝试了表中的第一个元组(用户名和密码),它会起作用。 下面是代码
public boolean loginAccount(String username, String password) {
String dataUsername;
String dataPassword;
boolean result = false;
try {
String sql = "SELECT Username, Password FROM Accounts";
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
dataUsername = rs.getString("Username");
dataPassword = rs.getString("Password");
if (username.equals(dataUsername) && password.equals(dataPassword)) {
result = true;
}
}
if (result)
populateAccount(username);
} catch (Exception ex) {
System.out.println("Error: " + ex);
}
return result;
}
一些提示...
我希望这只是一个有趣的目的,导致对SQL Server进行查询以下载整个Accounts表并执行一会儿是不好的做法。
While
循环的Java服务器中执行字符串比较。 您拥有旨在实现此目的的SQL引擎,广告的运行速度将超出您的想象。 我会建议:
另一个提示:考虑将MD5用于密码(标准做法)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.