Запрос на обновление в Java JDBC mysql не работает

#java #mysql #swing #jdbc

#java #mysql #swing #jdbc

Вопрос:

Запрос на обновление и запрос на удаление не работают, только select и insert.

 public static void updateQuery(String date) throws SQLException{ 
    String query = "update parks set flag=? where nick=? and day=?";
    PreparedStatement ps = mia.connect.prepareStatement(query);

    ps.setString(1,"y");
    ps.setString(2,user.getNickname());
    ps.setDate(3, Date.valueOf(date));
    ps.executeUpdate();
}

public static void deleteQuery(String date) throws SQLException{
    String query = "delete from parks where nick=? and day=?";
    PreparedStatement ps = mia.connect.prepareStatement(query);

    ps.setString(1,user.getNickname());
    ps.setDate(2, Date.valueOf(date));
    ps.execute();
}

public static void insert(int id_park,int weightTrip,LocalDate date,int during,int time) throws SQLException{

    // take the price
    int fullPrice = calculatePrice(id_park);
    frullPrice = fullPrice*during;
    String query = "insert into parks(numberID,nick,idpark,price,during,time,day,weithtrip,flag) "  
            "values (?,?,?,?,?,?,?,?,?)";
    PreparedStatement ps = mia.connect.prepareStatement(query);

    Random rand = new Random();
    int value = 0;
    value = rand.nextInt((999 - 1)   1)   1;

    ps.setInt(1,value);
    ps.setString(2,user.getNickname());
    ps.setInt(3,id_park);
    ps.setInt(4,fullPrice);
    ps.setInt(5,during);
    ps.setInt(6,time);
    ps.setDate(7, Date.valueOf(date));
    ps.setInt(8,weightTrip);
    ps.setString(9,"n");

    ps.execute();
}
  

это ActionListener на кнопке, которая вызывает процедуру. (
удаление то же самое, но вместо «DBOperations.updateQuery» есть «DBOperation.deleteQuery’)

   submitButton.addActionListener(new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                DBOperations.updateQuery(dateOfThePayment);
                JOptionPane.showMessageDialog(this,"thanks !");
            } catch (SQLException e2) {
                e2.printStackTrace();
            }
            }
    });


     this is the table :
     create table parks (
     numberID integer not null,
     nick varchar(10) not null,
     idpark int not null,
     price int,
     during int,
     time int,
     day date,
     weighttrip int,
     flag varchar(1),
         )
  

Эти запросы не дают мне никаких ошибок. Проблема в том, что они не выполняют свою работу.
Если я выполняю тот же запрос в командной строке, они работают хорошо.

Комментарии:

1. что находится mia в вашем подготовленном заявлении, а также в вашем запросе на обновление datePay ?

2. И в вашем запросе на удаление ps.executeUpdate() вместо ps.execute()

3. Покажите нам select и insert , которые, как вы утверждаете, работают, и покажите нам определение таблицы, то create table есть .

4. mia — это имя переменной. переменная является объектом соединения (одноэлементным). извините, я не упомянул об этом. и дата оплаты была ошибкой при написании вопроса на сайте.

5. Можете ли вы объяснить подробнее » Проблема в том, что они не выполняют свою работу».. Вы уверены, что не перехватываете исключение и / или не откатываете транзакцию? В том, что мы видим, нет try / catch. Трудно сказать без части, которая вызывает эти методы.