2014-04-02 72 views
0

當用戶在JCombobox中選擇一個項目時,顯示數據庫中的記錄時出現問題。 jcombobox中的項目是我數據庫中的ID號碼。我成功了(希望如此!)把所有的id放在jcombobox中,第一個項目顯示所有相應的數據,但是當我更改項目(ID#)時,它的相應數據不會改變。什麼都沒發生。顯示的記錄仍然是來自所選第一項(ID)的數據。另外我怎樣才能使jcombobox選擇沒有項目執行(當應用程序正在運行)?這裏是我當前的代碼至今:從JComboBox中的選定項目的數據庫中顯示記錄

 Class.forName(driverName); 
    Connection con = DriverManager.getConnection(url, userName, password); 
    String sql = "SELECT Emp_ID FROM employee ORDER BY Emp_ID"; 
    PreparedStatement ps = con.prepareStatement(sql); 
    ResultSet rs = ps.executeQuery(); 

    while(rs.next()) { 
     empID = rs.getString("Emp_ID"); 

     // Add the data to the combocox 
     // cmbEmpID is the jcombobox 
     cmbEmpID.addItem(empID); 

    } 

    String id = cmbEmpID.getSelectedItem().toString(); 

    String sql2 = " SELECT * FROM employee WHERE Emp_ID = " + id; 

    ps = con.prepareStatement(sql2); 
    rs = ps.executeQuery(); 

    while(rs.next()) { 
     empID = rs.getString("Emp_ID"); 
     empName = rs.getString("Emp_Name"); 
     empRate = rs.getInt("Emp_Rate"); 

     txtName.setText(empName); 
     txtRate.setText(String.valueOf(empRate)); 
    } 
} 
+0

只需檢查在選擇組合框中的項目後字符串ID是否已更改 – swapnil7

+0

@ swapnil7我該怎麼做?你能提供一些代碼嗎? –

+0

@ wapnil7我必須添加一個項目監聽器到jcombobox嗎? –

回答

0

我怎樣才能使JComboBox時選擇其執行任何項目(當 應用程序正在運行)?

comboxname.setSelectedIndex(-1); 

默認選中索引爲0,所以它選擇第一項。 如果你不默認選中的一組選定的索引想要的任何項目= -1

+0

謝謝。我會試試這個。 –

+0

它的工作原理。現在我唯一的問題是如何在用戶選擇一個項目時顯示數據。 –

+0

現在通過在控制檯上打印id來檢查ID字符串是否按照選擇進行更新 – swapnil7

0

我的想法,對於它的價值

以下行:

String sql2 = " SELECT * FROM employee WHERE Emp_ID = " + id; 

變量ID需要被封閉在單引號,如果它代表一個多字符字段的字符串爲SQL工作,

行應爲

String sql2 = " SELECT * FROM employee WHERE Emp_ID = " + "'" + id + "'"; 
相關問題