登录错误:java.sql.SQLException:未找到“user.id”列
我正在尝试创建登录页,但出现以下错误:登录错误:java.sql.SQLException:未找到“user.id”列,java,sql,jsp,jdbc,Java,Sql,Jsp,Jdbc,我正在尝试创建登录页,但出现以下错误: error: java.sql.SQLException: Column 'user.id' not found. 当我调用该类时,它似乎找不到我的列Id。Id列在我的SQL数据库中,名称正确。但是,它不起作用 我试图寻找不同的解决方案,但似乎找不到任何解决方案。请帮忙。 下面是我的Java DAO类和jsp文件 public static user getAccountByNamePass(String user_Name, String passw
error: java.sql.SQLException: Column 'user.id' not found.
当我调用该类时,它似乎找不到我的列Id。Id列在我的SQL数据库中,名称正确。但是,它不起作用
我试图寻找不同的解决方案,但似乎找不到任何解决方案。请帮忙。
下面是我的Java DAO类和jsp文件
public static user getAccountByNamePass(String user_Name, String password) {
user result = null;
Connection connection = null;
PreparedStatement ps = null;
try {
DB_Connection obj_DB_Connection = new DB_Connection();
connection=obj_DB_Connection.get_Connection();
String sql = "SELECT * FROM users WHERE user_name = ? AND password = ?";
ps = connection.prepareStatement(sql);
ps.setString(1, user_Name);
ps.setString(2, password);
ResultSet res = ps.executeQuery();
while (res.next()) {
result = createAccountResult(res);
}
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
static user createAccountResult(ResultSet res) throws SQLException {
user buyer = null;
int id2 = res.getInt("user.id");
String firstName = res.getString("user.first_name");
String lastName = res.getString("user.last_name");
String userName = res.getString("user.user_name");
String password = res.getString("user.password");
buyer = new user(id2, firstName, lastName, userName, password);
return buyer;
}
ArrayList<String> errors = new ArrayList<>();
String user_name = "";
String password = "";
if (request.getParameter("login") != null) {
user_name = request.getParameter("user_name");
password = request.getParameter("password");
if (user_name.trim().isEmpty()) {
errors.add("Please enter username");
}
if (password.trim().isEmpty()) {
errors.add("Please enter password");
}
if (errors.isEmpty()) {
user user = usersDAO.getAccountByNamePass(user_name, password);
if (user == null) {
errors.add("Wrong username or password!");
} else {
UserSession sessionModel = (UserSession) request.getSession().getAttribute("sessionModel");
sessionModel.login(user.getId());
response.sendRedirect("frontPage.jsp");
return;
}
}
} else if (request.getParameter("logout") != null) {
UserSession model1 = (UserSession) request.getSession().getAttribute("sessionModel");
model1.logout();
response.sendRedirect("frontPage.jsp");
return;
}
您不需要使用表的名称,只需使用列的名称,如下所示:
int id2 = res.getInt("id");
String firstName = res.getString("first_name");
String lastName = res.getString("last_name");
String userName = res.getString("user_name");
String password = res.getString("password");
您不需要使用表的名称,只需使用列的名称,如下所示:
int id2 = res.getInt("id");
String firstName = res.getString("first_name");
String lastName = res.getString("last_name");
String userName = res.getString("user_name");
String password = res.getString("password");
也许在这里:
int id2=res.getIntuser.id
应该是用户id还是仅id?可能在这里:
int id2=res.getIntuser.id
应该是用户id还是仅id?请遵守命名约定。这并不难:类总是以大写字母开头,并且没有下划线!。变量总是以小写字母开头,并且不包含下划线!。你不尊重他们,使你自己和我们的生活变得困难。这是否回答了你的问题?请尊重命名约定。这并不难:类总是以大写字母开头,并且没有下划线!。变量总是以小写字母开头,并且不包含下划线!。你不尊重他们,使你自己和我们的生活变得困难。这是否回答了你的问题?我已将其更改为just id,并收到一条新的错误消息:消息处理过程中发生异常[/logIn.jsp]在第[31]行描述服务器遇到意外情况,使其无法满足请求。我已将其更改为just id,并收到一条新的错误消息:消息处理过程中发生异常[/logIn.jsp]在第[31]行“说明”中,服务器遇到了一个意外情况,使其无法满足请求。@tobiasmadsen17这是一个新错误,这意味着一个新问题,这意味着您必须创建一个新问题,因为每篇文章都应该关注一个问题,而不是多个问题。谢谢。谢谢你的提示和帮助。我对这个社区有点陌生。@tobiasmadsen17这是一个新错误,意味着一个新问题,意味着你必须提出一个新问题,因为每个帖子应该关注一个问题,而不是多个问题。谢谢。谢谢你的提示和帮助。我对这个社区有点陌生。