插入sql时将comboBox值替换为数字

时间:2015-07-26 18:53:52

标签: java mysql sql-server combobox

我知道如何将comboBox值插入到sql中但不知道如何用sql中的数字替换comboBox值。

这是我的comboBox编码和处理按钮的一部分。

User.java

 JComboBox comboBox_1 = new JComboBox();
           comboBox_1.setBounds(126, 105, 140, 20);
           contentPane.add(comboBox_1);
           comboBox_1.addItem("RM100-RM200");
           comboBox_1.addItem("RM200-RM300");
           comboBox_1.addItem("RM300-RM400");

JButton btnNewButton = new JButton("Process");
        btnNewButton.setBounds(360, 296, 89, 23);
        contentPane.add(btnNewButton);
        btnNewButton.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent e){
        String a=(String)comboBox.getSelectedItem().toString();
         Case ca= new Case();
      try {
                    ca.addPlace(a);
                    LoginGUI um= new LoginGUI();
                    um.setVisible(true);

                } catch (Exception e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
        }
        });

Case.java

        public void addPlace( String r) throws Exception{

        DatabaseConnection db=new DatabaseConnection();
        Connection connect=db.getConnection();
        String sql="Insert into menu(Budget)VALUES (?)";

        PreparedStatement ps=connect.prepareStatement(sql);
        ps.setString(1,r);

        ps.executeUpdate();

        connect.close();
        ps.close();

    }

假设用户选择RM100-RM200,值“1”将插入sql而不是RM100-RM200。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您是否测试过代码? 在你的actionPerformed()中你写了,

  

String a =(String)comboBox.getSelectedItem()。toString();

对象comboBox在代码中没有初始化。 你的意思是comboBox_1,因为它是你在代码中实际初始化的JcomboBox的唯一对象。

另外

  

(String)comboBox.getSelectedItem()。toString();

实际上不需要对String进行类型转换,因为toString只返回一个String。