“if (rs.next())”是什么意思?
2022-09-04 08:34:54
我目前收到错误,
java.sql.SQLException: Method 'executeQuery(String)' not allowed on prepared statement.
因为我正在使用
PreparedStatement stmt = conn.prepareStatement(sql);
并且还具有
ResultSet rs = stmt.executeQuery(sql);
在我的代码中。
我现在需要删除 ResultSet 行,但这让我不得不处理以下代码:
if (rs.next()) {
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("login.successful"));
request.getSession(true).setAttribute("USERNAME", rs.getString("USERNAME"));
request.getSession(true).setAttribute("BALANCE", rs.getString("BALANCE"));
request.setAttribute("msg", "Logged in successfully");
我不确定我是否完全理解什么
if (rs.next())
确实如此。有人可以向我解释这个代码吗?如果我对此有更好的理解,我相信我会对如何处理如何使用ReadyStatement结果和用于rs的逻辑有更好的想法。此外,任何帮助来处理改变该逻辑也将不胜感激。