Чтобы в mysql при вводе дублирующей записи выскакивало сообщение "ввели значение которое есть в базе"

Рейтинг: -2Ответов: 1Опубликовано: 12.03.2023

Сделал форму в swing на java. Соединил с mysql, добавил несколько textfield, записи добавляются в базу, сделал unique в sql, чтобы дубли не добавлялись в базу.

Есть кнопка, которая добавляет данные в базу mysql. Цель: чтобы при добавлении дублируюшей записи выскакивало

ввели значение которое есть в базе

Понимаю, что надо сделать через диалоговое окно, но как настроить кнопку так чтобы она узнавала что ввели дубль записи?

Главное окно программы

Окно с базой

Ответы

▲ 0

Проблема решена: в кнопке(добавления в базу) создал try catch и в него добавил JOptionPane.showMessageDialog ("Данные внесены!") если данные уникальные и в случае дубля записи в блоке catch добавил JOptionPane.showMessageDialog(panel, "Уже есть такая запись!");.

//кнопка

c.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent arg0) {

        try {
            String Kname = t1.getText();
            String Surname = t2.getText();
            String Age = t3.getText();
            statement.executeUpdate("INSERT INTO ppl51 (name,surname,age) value ('" + Kname + "','" + Surname + "','" + Age + "')");
            JOptionPane.showMessageDialog(panel, "Данные внесены!");
        } catch (Exception Err) {
            System.out.println(Err.getMessage());
            JOptionPane.showMessageDialog(panel, "Уже есть такая запись!");
        }

    }


});