我有这个代码。
public String Login(String email, String password) {
String mode = "";
try {
con = DriverManager.getConnection(url, userdb, passdb);
Statement select = con.createStatement();
ResultSet result = select.executeQuery("SELECT * FROM doit WHERE DoitEmail='" + email + "' AND DoitPassword='" + password + "'");
if (result.first()) {
mode = "doit";
}
} catch (SQLException ex) {
}
return mode;
}
似乎是什么问题导致它没有在 if
语句中返回 mode
的值。
也就是说,为什么不执行if
语句 block ,我调试的时候直接进入return mode
,没有给mode设置新的值
?
更新:我正在使用新代码...(最后有单引号...)
UPDATE2:问题解决了,,,
最佳答案
您缺少结束语,更改:
DoitPassword='"+password+""
到:
DoitPassword='"+password+"'"
此外,就像上面已经评论过的那样,在不(至少)将错误打印到日志的情况下捕获异常是一种不好的做法。
最后,我想向您介绍我的一位好 friend : Bobby Tables
关于java - 为什么它没有进入 if 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25819554/