私はコンボボックスを埋めるこのメソッドを持っています:
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 値が必要なため、うまくいきません。
何か案は?