2013-12-05 3 views
-1

Я хотел получить данные из базы данных с идентификатором. Итак, я хотел сделать следующее: у меня есть номер в моей группе со списком от 1 до 4. Всякий раз, когда я выбираю 1 в поле со списком, текстовое поле firstname и lastname будет изменяться в зависимости от выбранного идентификатора. Как мне это сделать?Извлечение данных на основе ID java

я уже пробовал так, но это не будет работать:

private void Edit(Connection conn, Statement state, ResultSet result) 
    { 
     try 
     { 
      String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; 
      Class.forName(driver); 

      String url = "jdbc:odbc:Database"; 

      conn = DriverManager.getConnection(url); 

      String query = "select FirstName, LastName, Status, JoinedDate from Customer where ID = ?"; 

      PreparedStatement statement = conn.prepareStatement(query); 

      statement.setInt(1, jComboBox1.getSelectedIndex()); 

      result = statement.executeQuery(); 

      while(result.next()) 
      { 
       jTextField3.setText("FirstName"); 
       jTextField2.setText("LastName"); 
       jTextField3.setText("Status"); 
       JoinedDateLabel.setText("JoinedDate"); 
      } 
     } 

     catch (Exception e) 
     { 
      System.err.println(e.getMessage()); 

      _sound.PlaySound(2); 

      _infoBox.ShowMessageBox(e.getMessage(), "Error", 2); 

      _reminder = new Reminder(1); 

      JOptionPane.showOptionDialog(null, "Program will be closed due to error!", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, new Object[]{}, null); 

      System.exit(0); 
     } 

Спасибо

+0

downvoters, пожалуйста, оставьте комментарий – SpringLearner

+0

*, но он выиграл ' t work: * означает, что? ваш вопрос не ясен. Вы только что отправили код, но не упоминали о том, получаете ли вы какую-либо ошибку или вывод не в соответствии с вашим requiremnt.merely код публикации с надлежащим описанием привлекает downvotes не отвечает – SpringLearner

+0

всякий раз Я запускаю программу, jComboBox показывает текст «Item1, item2, item3 и item4 по умолчанию» <- я ничего не менял, я просто поместил comboBox в проект и поместил некоторый код для извлечения данных. Но текстовые поля не менялись в зависимости от выбранного comboBox – Kaoru

ответ

0

Попробуйте

while(result.next()) 
{ 
    jTextField1.setText(result.getString("FirstName")); 
    jTextField2.setText(result.getString("LastName")); 
    jTextField3.setText(result.getString("Status")); 
    JoinedDateLabel.setText(result.getString("JoinedDate")); 
} 

Все, что вы делаете с вашим текущим код настройки текст в строковый литерал «FirstName». Вам нужно фактически извлечь данные из ResultSet и установить текст в качестве этих данных.

Также обратите внимание, что индексы JComboBox основаны на 0. Поэтому, если вы выберете первый индекс, он вернет 0. Вы должны убедиться (в вашем случае), что db имеет идентификаторы 0,1,2,3

Смежные вопросы