Java 在JComboBox中获取selectedItem,并在query Newbie中作为一个值插入

Java 在JComboBox中获取selectedItem,并在query Newbie中作为一个值插入,java,mysql,jdbc,jcombobox,Java,Mysql,Jdbc,Jcombobox,我找不到一种方法将所有选中的项目放在3个不同的组合框中,我需要将这些组合框作为查询插入JavaDBderby。这是我的密码 int response=JOptionPane.showConfirmDialog 空,是否要添加员工?、确认、JOptionPane。是\否\选项、JOptionPane.QUESTION\消息 if(response == JOptionPane.YES_OPTION){ try{ String url="jdbc:derby

我找不到一种方法将所有选中的项目放在3个不同的组合框中,我需要将这些组合框作为查询插入JavaDBderby。这是我的密码

int response=JOptionPane.showConfirmDialog 空,是否要添加员工?、确认、JOptionPane。是\否\选项、JOptionPane.QUESTION\消息

    if(response == JOptionPane.YES_OPTION){

        try{
        String url="jdbc:derby://localhost:1527/EMPLOYEEINFO [ADMIN1 on ADMIN1]";
        String username="ADMIN1";
        String password="ADMIN1";

        Connection con = DriverManager.getConnection(url, username, password);
        Statement stat = con.createStatement();
        String Query = 
        "INSERT INTO EMPLOYEE (EMPLOYEE_ID,EMP_LASTNAME,EMP_FIRSTNAME,EMP_MIDDLENAME,ADDRESS,POSITION ) "
                +"VALUES "
                + "(' "+AddEmployee_EmployeeID_TxtField.getText()+" ',"
                + " ' "+AddEmployee_LastName_TxtField.getText()+" ',"
                + " ' "+AddEmployee_FirstName_TxtField.getText()+" ',"
                + " ' "+AddEmployee_MiddleName_TxtField.getText()+" ',"
                + " ' "+AddEmployee_Address_TxtField.getText()+" '"
                + " ' "+AddEmployee_Position_TxtField.getText()+" ',"
                + " ' "+AddEmployee_Gender_ComboBox.getSelectedItem()+"')"
                ;
        stat.execute(Query);
        JOptionPane.showMessageDialog(null,"Insert Success!"); 
下面是截图。我正在考虑getselectedObject,但我有3个组合框,所以我真的不知道如何操作。请帮忙

我需要获得生日的月份、日期和年份的选定项,然后将其插入到Derby中的表中。提前谢谢。

您应该创建一个单独的方法来获取字段,并将值合并到格式化的日期中。大概是这样的:

private String getDateFromFields() {
  String month = monthComboBox.getSelectedItem();
  String day = dayComboBox.getSelectedItem();
  String year = yearComboBox.getSelectedItem();
  // Format this the way your database expects.
  String formattedDate = month + "/" + day + "/" + year;
}
String bDay=dayCombo.getSelectedItem()+"-"+monthCombo.getSelectedItem()+"-"+yearCombo.getSelectedItem();

您只需调用此方法,就可以返回可在查询中使用的格式化日期字符串。更改组合框字段的变量名以匹配您的名称,并将字符串格式设置为数据库所需的格式,这样您就可以开始了

您可以这样做:

private String getDateFromFields() {
  String month = monthComboBox.getSelectedItem();
  String day = dayComboBox.getSelectedItem();
  String year = yearComboBox.getSelectedItem();
  // Format this the way your database expects.
  String formattedDate = month + "/" + day + "/" + year;
}
String bDay=dayCombo.getSelectedItem()+"-"+monthCombo.getSelectedItem()+"-"+yearCombo.getSelectedItem();
但我建议你在这种情况下使用

JDateChooser bDayChooser =new JDateChooser();
bDayChooser.setDateFormatString("dd-MM-yyyy");//format visible date of the date chooser as you need
String bDay=((JTextField) bDayChooser.getDateEditor().getUiComponent()).
                getText();

我非常感谢你。我的知识有点局限于普通函数。我不知道如何设置格式,或者/这解决了我的问题。但我不得不将字符串改为Object。@ChrisFranklin,再次感谢。这是我按照你的建议所做的。私有字符串GetBirthdayFromComboBox{Object month=AddEmployee\u BirthdayMonth\u ComboBox.getSelectedItem;Object day=AddEmployee\u BirthdayDay\u ComboBox.getSelectedItem;Object year=AddEmployee\u birthdayear\u ComboBox.getSelectedItem;//按数据库预期的格式设置此格式。字符串格式化日期=月+/+日+/+年;返回formattedDate;}非常感谢您的帮助。我还不熟悉JDateChooser,但我一定会接受您的建议。我还在学习。你们所有人都在帮助我更快地学习。谢谢。