从MySql数据库中检索JCombobox值

时间:2012-01-02 10:16:34

标签: java mysql swing jcombobox

我使用以下代码从我的Sql DB.retrieve StudName和StudId从Data Base中检索数据.StudName将显示JComboBox.But如何在Messagebox中显示StudId。如果我在组合框中选择第一条记录意味着我需要消息框中的相应ID。如何做到这一点?  在此先感谢

public class FrmeA extends javax.swing.JFrame  {

          FrmA1 f1=new FrmA1();
          Statement TmpFlxTSt=null;
          ResultSet TmpFlxTRs=null;
          GContnStr GCS=new GContnStr();

        public FrmeA() {
             initComponents();
        }
    public void combo(){

         try{
                    GCS.GContnStr();
                    TmpFlxTSt= GCS.GCotnStr.createStatement();
                    String select = "Select StudId,StudName from studentmaster";
                    TmpFlxTRs = TmpFlxTSt.executeQuery(select);
                      while(TmpFlxTRs.next()){
                       cbx.addItem(TmpFlxTRs.getString("StudName"));
                       Object comboitem=cbx.getSelectedItem();

                   }
                        TmpFlxTRs.close();
                        TmpFlxTSt.close();
            }
               catch(Exception e){
                   System.out.println(e);

        }

    }

2 个答案:

答案 0 :(得分:1)

创建一个Student类,其中包含ID和名称,以及返回名称的toString()方法,并将Student的实例添加到组合框中,而不是添加名称。 getSelectedItem()方法将返回Student,您只需致电getId()即可获取其ID。

答案 1 :(得分:1)

  

从Data Base.StudName中检索StudName和StudId将显示JComboBox.But如何在Messagebox中显示StudId。

您可以使用JOptionPane来实现此目的,

String message = TmpFlxTRs.getString("StudId");
JOptionPane.showMessageDialog(parent, message);
  

如果我在组合框中选择第一条记录意味着我需要消息框中的相应ID。如何做到这一点?

为此目的配置actionlistener,或者ItenStateChanged监听器会更好。