Java JcomboBox只显示一项
我的代码怎么了?第二个JcomboBox只显示一个项,即使数据库中还有更多项。 这就是它的工作原理: 根据用户在第一个组合框上的选择,第一个JcomboBox将填充数据库中的数据,第二个JcomboBox将填充,然后一些jlabel将填充数据,具体取决于从第二个JcomboBox中选择的项 如果(o==comboBox2)仍然是相同的问题,我尝试了Java JcomboBox只显示一项,java,swing,jdbc,jcombobox,recordset,Java,Swing,Jdbc,Jcombobox,Recordset,我的代码怎么了?第二个JcomboBox只显示一个项,即使数据库中还有更多项。 这就是它的工作原理: 根据用户在第一个组合框上的选择,第一个JcomboBox将填充数据库中的数据,第二个JcomboBox将填充,然后一些jlabel将填充数据,具体取决于从第二个JcomboBox中选择的项 如果(o==comboBox2)仍然是相同的问题,我尝试了 @Override public void actionPerformed(ActionEvent e) { Object o = e.ge
@Override
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
if(o == comboBox1) {
Object matricule = comboBox1.getSelectedItem();
String sqll = "Select * FROM clients WHERE matricule = " +matricule;
try {
rs = stat.executeQuery(sqll);
while(rs.next()) {
nom.setText(rs.getString("nom"));
prenom.setText(rs.getString("prenom"));
cin.setText(rs.getString("cin"));
adresse.setText(rs.getString("adresse"));
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
comboBox2.removeAllItems();
Object index = comboBox1.getSelectedItem();
String sql = "Select distinct p.code FROM parcelle p, clients c WHERE c.matricule = p.exploitant AND c.matricule = " +index;
try {
rs = stat.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getInt("code"));
comboBox2.addItem(rs.getInt("code"));
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return;
}
Object code = comboBox2.getSelectedItem();
String sqll = "Select * FROM parcelle WHERE code = " +code;
try {
rs = stat.executeQuery(sqll);
while(rs.next()) {
sau.setText(rs.getString("sau"));
sol.setText(rs.getString("type_sol"));
irrigation.setText(rs.getString("mode_irrigation"));
exploitation.setText(rs.getString("type_exploitation"));
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
您能确认“code”的值在任何记录中都不为空吗?听上去,第二条记录中“code”的值为null(或任何其他无法解析为int的值),这导致了异常。数据库中还有更多内容,但您能否确认您的查询返回了多行?是的,我尝试了通过phpMyAdmin进行的查询,并返回了所有现有行。为了更快地获得更好的帮助,请发布一个。硬编码数据。