从组合框中选择项目时,如何从数据库中获取ID值



我有一个方法来填充我的组合框:

public DefaultComboBoxModel llenarComboFamilia() throws SQLException {
    String query = "select * from familias";
    DefaultComboBoxModel df = new DefaultComboBoxModel();
    abrirConexion();
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(query);
    while (rs.next()) {
        //df.addElement(rs.getObject("This is the ID I need"));
        df.addElement(rs.getString("String from DB"));
    }
    cerrarConexion();
    return df;
}

然后我加载:

jComboBox2.setModel(con.llenarComboFamilia());

当我点击"注册"按钮时,我得到了:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    Persona p = new Persona(jTextField7.getText(), 1, 
            jComboBox2.getSelectedIndex() + 1, 
            jTextField5.getText(), jTextField6.getText());
    con.insertarPersonasProp(p);
}

但是jComboBox2.getSelectedIndex() + 1对我不起作用,因为我需要数据库中的ID值,而不是所选的索引。

有什么想法吗?

您可以使用Vector来存储id。在将项目添加到组合框时,只需使用每个项目的id填充向量即可。矢量和组合框都将具有相同数量的项目,因此组合框中项目10的id将是矢量中的项目10。然后您可以从vectorIDs.get这样的向量中获取当前在组合框上选择的项目的id(jComboBox2.getSelectedIndex(((

创建一个自定义对象,以包含SQL查询中的"Id"one_answers"Description"字段。然后将此对象添加到组合框中,并使用自定义渲染器。

有关详细信息和示例代码,请参见带有自定义渲染器的组合框。

相关内容

  • 没有找到相关文章

最新更新