Java - проверить, если идентификатор уже существует в базе данных - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь войти в систему с именем и идентификатором в JTextField после нажатия кнопки. После первого входа все пользователи сохраняются в базе данных. Я пытаюсь сделать следующее: если пользователь уже хранится в базе данных, я хочу показать сообщение («Добро пожаловать назад»), но в данный момент я получаю «Дублирующая запись« 11 »для ключа« ПЕРВИЧНАЯ » '. Я хочу "игнорировать это", потому что если пользователь хранится в базе данных, он должен иметь возможность снова войти в систему и перейти к следующей странице. А если пользователь новый, я покажу JOptionPane ( «Добро пожаловать, новый пользователь»)

Что я пробовал до сих пор: JOptionPane.showMessageDialog (null, "уже существует"); }

                String query1 = "SELECT * FROM user";
                PreparedStatement pst1 = con.prepareStatement(query1);
                ResultSet r1= pst1.executeQuery();
            if(....)JOptionPane.showMessageDialog(null,"...");} 
                    else if(r1.next()) {
                        if (r1.getString("ID").equals(txtFieldID.getText())) {

Спасибо всем заранее.

1 Ответ

0 голосов
/ 03 июля 2018

Сначала необходимо выполнить запрос, чтобы проверить, что идентификатор уже существует в базе данных, поэтому в этом случае вы получите только один результат: SELECT COUNT(ID) FROM USERS WHERE ID = ?. Если результат этого запроса возвращает значение больше 0, то пользователь существует, и вы показываете сообщение.

Вы не должны запрашивать всю таблицу, а затем выполнять итерацию каждой строки, чтобы выполнить такую ​​проверку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...