我使用以下代码从我的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);
}
}
答案 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监听器会更好。