当用户在JCombobox中选择一个项目时,我在显示数据库中的记录时遇到问题。 jcombobox中的项目是我的数据库中的ID号。我成功(希望如此!)将所有id放在jcombobox中,第一项显示其中的所有相应数据但是当我更改项目(ID#)时,它的相应数据不会改变。什么都没发生。显示的记录仍然是来自所选第一个项目(ID)的数据。另外我如何让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 :(得分:0)
如何让jcombobox在执行时选择任何项目(当时 应用程序正在运行)?
comboxname.setSelectedIndex(-1);
默认选择索引为0,因此它选择第一项。 如果您不希望任何项目默认选择set selected index = -1
答案 1 :(得分:0)
我的想法,它的价值
对于以下行:
String sql2 = " SELECT * FROM employee WHERE Emp_ID = " + id;
如果变量id表示SQL的多字符字段中的字符串,则需要用单引号括起来
行应该读
String sql2 = " SELECT * FROM employee WHERE Emp_ID = " + "'" + id + "'";