Java 通过在组合框中选择项从MySql表格中选择数据

Java 通过在组合框中选择项从MySql表格中选择数据,java,mysql,combobox,Java,Mysql,Combobox,我有一个JCombobox,它从MySql表的一列中获取数据 public void FillCombo1(){ try { String sql = "SELECT `Expense Code` FROM `database`.`expense_code_master`"; PreparedStatement pst = (PreparedStatement)conn.prepareStatement(sql); rs = pst.executeQuery()

我有一个JCombobox,它从MySql表的一列中获取数据

  public void FillCombo1(){
  try {
    String sql = "SELECT `Expense Code` FROM `database`.`expense_code_master`";

    PreparedStatement pst = (PreparedStatement)conn.prepareStatement(sql);
    rs = pst.executeQuery();

    while (rs.next()) {
        String name = rs.getString("Expense Code");
        comboBox.addItem(name);
    }
    }catch (Exception ex) {
        System.out.println("Error: "+ex);
  }
}
现在我想从同一个表中获取一个值,该值与我在组合框中选择的值相关。我该怎么做

Table schema:

Expense Code (primary key) | Account No (int)
E120                       | 12222

因此,我想获取值(账号)并将其与ActionListener一起放入JLabel中,您可以利用
ItemListener
来实现这一点

JLabel myLabel = ... // Example JLabel from other part of program
...

class ItemChangeListener implements ItemListener{
    @Override
    public void itemStateChanged(ItemEvent event){ // Fired on selection
        if(event.getStateChange() == ItemEvent.SELECTED){ // Check for selection
            Object item = event.getItem(); // Here is selected item
            String expenseCode = item.toString(); // Get String

            String result = ...; // Use query here - 
                                 // same way as with your other query

            myLabel.setText(result); // Update JLabel with found String
        }
    }       
}
确保将
ItemChangeListener
添加到
JComboBox

comboBox.addItemListener(new ItemChangeListener());

SQL
查询应该是这样的

// expenseCode would be the String you got in the itemStateChanged method
String sql2 = "SELECT `Account No` FROM `database`.`expense_code_master` " + 
              "WHERE `Expense Code` == `" + expenseCode + "`";

你还没问过一个问题,你在哪一部分有问题?您是否不知道如何编写查询,不知道如何将组件添加到GUI等。?您需要提供更多详细信息,可能需要显示JComboBox和MySQL表访问的代码,并询问一个具体问题,说明您遇到了什么困难。我不知道如何编写查询。这些值之间有什么关系?您需要提供表格布局(列名、类型等)。列“费用代码”是主键,我想从列“账号”中获取值。因此,当我选择一个费用代码时,帐户号应该出现。你需要将信息添加到你的问题中。列的数据类型是什么?您需要从哪个列中获取数据?