根据另一个JCombobox填充JCombobox值

时间:2017-03-24 06:03:47

标签: java jcombobox

我有两个JCobobox A和B,所以如果我从A中选择任何项目,那么与A中选择的项目相关的值应该填入JCombobox B.我试过这个但是得到一个错误:

  

java.lang.ArrayIndexOutOfBoundsException:0

pst.setString(1, client.getSelectedItem().toString());

try
{
    String query="select `User_Name` from Client where `Client_Name`='?' ";
    PreparedStatement pst=conn.prepareStatement(query);
    pst.setString(1, client.getSelectedItem().toString());

    ResultSet rs=pst.executeQuery();

    user.addItem("--Select--");
    while(rs.next())
    {
        user.addItem(rs.getString("User_Name"));            
    }
//      return;
    System.out.println(query);

}
catch(Exception g)
{
    g.printStackTrace();
}

2 个答案:

答案 0 :(得分:0)

你犯了一个错误,

无需使用'?' ,它应该只是Client_Name =?

答案 1 :(得分:0)

当您使用setString()

时,PresparedStatement负责引用参数

尝试

String query="select User_Name from Client where Client_Name = ?";
PreparedStatement pst=conn.prepareStatement(query); 
pst.setString(1, String.valueOf(client.getSelectedItem()));

我想当你使用'?'时,准备好的语句不会将其作为参数计算,这就是你得到IndexOutOfBounce

的原因