Я не понимаю актуальную проблему / требование.
Но, по крайней мере, я вижу следующее: Ваш первый SQL-запрос получает все кассовые реквизиты из БД, которые имеют статус "ожидание". Ваш второй запрос обновляет статус для всех из полученных денежных поступлений до выбранного значения. Таким образом, если вы выберете «в ожидании», фактически ничего не изменится Но если вы выберете «очищенный», фактически все будет установлено на «очищенный». У вас не останется ни одной строки со статусом «в ожидании». Далее переменная uname
немного округлена.
Вам не нужен uname
в вашем первом запросе? Какое функциональное требование в конце концов? Возможно, вы хотите изменить только статус для конкретного uname
, который также является столбцом таблицы cashrequisitions? Если это так, вам нужно заменить оба SQL-запроса на:
preparedStatement = connection.prepareStatement("UPDATE cashrequisitions set status=? where uname=?");
preparedStatement.setString(1, status);
preparedStatement.setString(2, uname);
Этот запрос будет эффективно обновлять status
всех кассовых заявок с указанным uname
до указанного значения состояния. Если вам сложно работать с SQL (что выглядит так), я могу порекомендовать вам этот базовый учебник по SQL .
Тем не менее, ваш код немного .. э-э ... необычно . Обычно вы пишете код Java в классах Java, а не в файлах JSP. Игнорируйте те старомодные уроки 90-х. Использование скриптлетов крайне не рекомендуется. То, как вы пишете код JDBC, также далеко не эффективно и очень чувствительно к утечкам ресурсов. Чтобы получить представление о том, как правильно выполнять основные действия, вы можете найти эту статью полезной.