2017-02-13 2 views
-3

Эй У меня проблема с моими кодами java. Если я введу текст в свой IDFiELD, а затем нажмите «Ввод», а затем появится сообщение «Идентификатор не распознается, попробуйте еще раз ...», но он отображает значения в моей таблице. Итак, как я могу решить эту проблему.Как я могу достичь этого кода?

Так вот мой код в Java затмении:

IDField.addKeyListener(new KeyAdapter() { 
     public void keyPressed(KeyEvent evnt) { 
      if (evnt.getKeyCode() == KeyEvent.VK_ENTER) { 
       try { 
        String query = "select * from employee where IDNo = ?"; 
        PreparedStatement pst = connection.prepareStatement(query); 
        pst.setString(1, IDField.getText()); 
        ResultSet rs = pst.executeQuery(); 
        table.setModel(DbUtils.resultSetToTableModel(rs)); 

        int count = 0; 
        while (rs.next()) { 
         count += 1; 
        } 
        if (count == 1) { 
         JOptionPane.showMessageDialog(null, "ID Verified!"); 

         IDField.setText(null); 
        } else { 
         JOptionPane.showMessageDialog(null, "ID was'nt recognize, Try again..."); 
        } 
        rs.close(); 
        pst.close(); 
       } catch (Exception e) { 
        JOptionPane.showMessageDialog(null, e); 
       } 
      } 

     } 
    }); 

Я надеюсь, что вы можете мне помочь. Благодарю.

+1

? Может быть, более одного «сотрудника» с тем же «IDNo»? –

+0

? Вначале этого кода я не добавляю, что «table.setModel (DbUtils.resultSetToTableModel (rs)); и он работает правильно. А потом, когда ставят этот стол, появляется моя проблема.? –

ответ

2

Ваш метод table.setModel(DbUtils.resultSetToTableModel(rs)); уже использует ResultSet, поэтому вы не можете использовать его снова, чтобы подсчитать, сколько результатов вы получили.

Вы можете:

  • запустить запрос дважды (проще код, но не менее чистый и эффективный)
  • запроса модель таблицы, чтобы увидеть, если есть строки
  • извлечь результаты запроса в структуру данных и преобразовать ее в вашу модель стола, а также использовать ее для проверки наличия результатов
Смежные вопросы