从JComboBox

时间:2015-08-12 15:32:26

标签: java combobox

我想保存来自java组合框所选项目的密钥我创建了这个函数,所以我可以返回表格#34;国籍"并将其作为外键插入到其他表中但它不起作用它总是返回0:

public int getNat() throws Exception{
    String query = "SELECT code_nat FROM nationality WHERE nationality=?";
       try ( PreparedStatement stat = cnx.prepareStatement(query) ) {

          stat.setString(1, (String)cmbNat.getSelectedItem());
          rslt = stat.executeQuery();
          return rslt.getInt(1);

       }catch(SQLException ex){
              ex.printStackTrace();
              return 0; 
       }
}

2 个答案:

答案 0 :(得分:1)

您无法选择表格的所有字段:

String query = "SELECT * FROM nationality WHERE nationality=?";
//                     ↑ here

改为使用字段名称:

String query = "SELECT nationality_id FROM nationality WHERE nationality=?";

同样到retrieve data check here,但必须这样做

return rs.getInt("nationality_id");

答案 1 :(得分:0)

插入功能

public void insertInfo() throws Exception{
    try{
        int codeNat = getNat();

        String query = "INSERT INTO info (id,name,code_nat) VALUES (?,?,?)";

        stat = cnx.prepareStatement(query);
        stat.setString(1, txtId.getText());
        stat.setString(2, txtName.getText());
        stat.setInt(3, codeNat);

        stat.execute();
        Update_table();

    }catch(SQLException ex){
        JOptionPane.showMessageDialog(null,ex);
    }
    finally{
        try{
            stat.close();
            cnx.close();
        }catch(Exception e){

        }
    }
}
相关问题