Java 从MySql数据库检索JCombobox值
我使用以下代码从Sql DB中检索数据。从数据库中检索StudName和StudId。StudName将显示JComboBox。但是如何在Messagebox中显示StudId。如果我在组合框中选择第一条记录,则表示我需要消息框中相应的Id。如何执行此操作? 提前谢谢Java 从MySql数据库检索JCombobox值,java,mysql,swing,jcombobox,Java,Mysql,Swing,Jcombobox,我使用以下代码从Sql DB中检索数据。从数据库中检索StudName和StudId。StudName将显示JComboBox。但是如何在Messagebox中显示StudId。如果我在组合框中选择第一条记录,则表示我需要消息框中相应的Id。如何执行此操作? 提前谢谢 public class FrmeA extends javax.swing.JFrame { FrmA1 f1=new FrmA1(); Statement TmpFlxTSt=nul
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);
}
}
创建一个带有ID和名称的
Student
类,以及一个返回名称的toString()
方法,并将Student
的实例添加到组合框中,而不是添加名称。getSelectedItem()
方法将返回一个Student
,您只需调用getId()
即可获取其ID
从数据库中检索StudName和StudId。StudName将显示JComboBox。但是如何在Messagebox中显示StudId
您可以使用JOptionPane来实现此目的,类似这样的功能
String message = TmpFlxTRs.getString("StudId");
JOptionPane.showMessageDialog(parent, message);
如果我选择组合框中的第一条记录,意味着我需要消息框中相应的Id。如何做到这一点
为此目的配置actionlistener,或者最好使用iTestateChanged listener。最终字符串addid=TmpFlxTRs.getString(“StudId”)的可能重复项;cbx.addItemListener(new ItemListener(){public void itemStateChanged(ItemEvent ie){System.out.println(addid);JOptionPane.showMessageDialog(null,“+addid);}});如果我像这样使用ItemStateChanged,我会显示所有的学生Id。但是我如何才能为单击的学生显示正确的Idname@javabeginner我不太清楚你在说什么:(你能发布一个吗?顺便说一句,试试这种方法,combobox.getselectedItem会返回学生姓名,用它来查询数据库,比如从数据库中选择StudID,其中StudName=combobox.getselectedItem.toString(),在这种情况下,你只有一个结果。干杯。@Java初学者希望你没有复制粘贴查询:)错误是什么?