Я сейчас получаю ошибку,
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())
делает. Может ли кто-нибудь объяснить мне этот код? Если у меня будет лучшее понимание этого, я верю, что у меня будет лучшее представление о том, как действовать, используя результаты PreparedStatement с логикой, используемой для rs. Также любая помощь, чтобы иметь дело с изменением этой логики была бы очень признательна.