UpdateQuery не выполняется. Как исправить этот код? - PullRequest
0 голосов
/ 18 января 2019

Я хочу получить дату в столбце ДАТА на сервере Xampp и сравнить с текущей датой. если дата в xampp меньше текущей, то я хочу установить значение столбца РАЗРЕШЕНИЕ на «разрешить». Но мой запрос не выполняется.

То, что я пробовал, дано в моем коде ниже.

                Date date1 = null;
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
                //current date
                Date date = new Date();
                date1 = date;
                CurrentDate.setText(date1.toString());
                String UpdateQuery = null;
                String Allow = "allow";
                UpdateQuery = "UPDATE company SET permission = '"+Allow+"' WHERE date < ?";
                pst = conn.prepareStatement(UpdateQuery);                 
                SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy-MM-dd");
                String addDate = CurrentDate.getText();
                pst.setString(2, addDate);
                pst.executeUpdate();
                System.out.println("Updated"); 

Я хочу получить значение таблицы разрешений на сервере xampp, установленное на «разрешить» при выполнении запроса на обновление;

1 Ответ

0 голосов
/ 18 января 2019

pst.setString(2, addDate);

Я думаю, это должно быть изменено на:

pst.setString(1, addDate);

потому что в вашем подготовленном утверждении есть только один параметр.

Кроме того, при сравнении дат необходимо заключать их в одинарные кавычки, поэтому измените строку UpdateQuery на
"UPDATE company SET permission = '"+Allow+"' WHERE date < '?' ";

также является необходимым шагом.

...