В настоящее время я получаю сообщение об ошибке
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. Также приветствуется любая помощь в изменении этой логики.