关于JSP和SQL的问题。Java web应用程序
我最近正在制作一个Java web应用程序,它必须关注CRUD(你知道)。但我被困在了阅读&阅读;更新及;删除操作(三个操作)。只有创建操作才能正常工作。具体来说,我正在开发的Java web应用程序到目前为止还没有完成。在我的代码中,名为“findUsers”的函数用于实现读取操作。顺便说一下,我已经检查了很长一段时间的代码。我猜问题可能出在findUsers函数中(不确定,只是一个假设)。每次我试图键入R来调用该函数时,Netbeans都会返回“用户不存在”。我不知道为什么。此外,数据库连接成功enter image description here这张照片是我的数据库结构
DBManager。爪哇
//read operation
public User findUsers(String email, String password) throws SQLException {
String sqll = "SELECT * FROM XWB.USERS WHERE EMAIL = ' " + email + " ' AND PASSWORD = ' " + password + " ' ";
// " SELECT * FROM XWB.USERS WHERE EMAIL = ' " + email + " ' AND PASSWORD = ' " + password + " ' ";
//select * from XWB.Users where EMAIL = 'TargetEmail' and PASSWORD = 'TargetPassword';
ResultSet rs = st.executeQuery(sqll);
while (rs.next()) {
String UserEmail = rs.getString("EMAIL");
String UserPassword = rs.getString("PASSWORD");
if (UserEmail.equals(email) && UserPassword.equals(password)) {
String UserName = rs.getString("NAME");
String UserGender = rs.getString("GENDER");
String UserColor = rs.getString("FAVOURITECOLOR");
return new User(UserEmail, UserName, UserPassword, UserGender, UserColor);
}
}
return null;
}
TestDB。java(我使用这个类来测试DBManager)
// findUsers()
private void testRead() throws SQLException {
System.out.print("User email: ");
String email = in.nextLine();
System.out.print("User password: ");
String password = in.nextLine();
User user = db.findUsers(email, password); // returns nothing
//System.out.println(user);
if( user != null) {
System.out.println("User " + user.getName() + " exists in the database.");
}else { //user == null
System.out.println("User does not exit.");
}
}
这是我从Netbeans得到的结果。它总是告诉我“用户不存在” enter image description here
# 1 楼答案
在代码中有
return null
,因此当调用类中的这个get检查if( user != null)
将返回false,并且if-statement
的else
部分将被执行。因此,要克服以下变化:您的方法如下所示:
# 2 楼答案
如果您的电子邮件和密码的数据值正确,我认为您应该删除[']字符前后的空格。 您的代码:
替换: