首页 文章

Datepicker dateformat与oracle数据库日期不匹配

提问于
浏览
0

我试图从jfxdatepicker获取日期,但结果字符串格式与数据库中的列日期格式不匹配 . 这是我得到的错误java.sql.SQLDataException:ORA-01861:literal与格式字符串不匹配

public void addEmployee(ActionEvent event) {
       RadioButton chk = (RadioButton)empsex.getSelectedToggle();// Cast object to radio button

       //System.out.println(empjoining.getValue());
       String ch;

       DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy");

       ch= dbcon.insertData("insert into employees (EMPLOYEE_ID,EMPLOYEE_NAME,FATHER_NAME,ADDRESS,AGE,CNIC,JOINING_DATE,LEAVING_DATE,EMAIL,TRANSPORT_ID,EMPLOYEE_TYPE,GENDER,PHONE_NUMBER) values (" +
                "'" +empid.getText()+"','" +empname.getText()+"','" +empfname.getText()+"','" +empaddress.getText()+"'," +
                "'" +empage.getText()+"','" +empcnic.getText()+"','" +empjoining.getValue().format(formatter) +"','" +empleaving.getValue()+"'," +
                "'" +empmail.getText()+"','" +emptransport_id.getText()+"','" +emptype.getText()+"','" +chk.getText()+"','"+empphone.getText()+"')");

       System.out.println(ch);
    }
}

1 回答

  • 2

    您忘记格式化为完成DatePicker的值,假设mpjoining.getValue() . format(formatter)正在执行您所需的操作,以下应该可以解决您的问题:

    ch= dbcon.insertData("insert into employees (EMPLOYEE_ID,EMPLOYEE_NAME,FATHER_NAME,ADDRESS,AGE,CNIC,JOINING_DATE,LEAVING_DATE,EMAIL,TRANSPORT_ID,EMPLOYEE_TYPE,GENDER,PHONE_NUMBER) values (" +
                "'" +empid.getText()+"','" +empname.getText()+"','" +empfname.getText()+"','" +empaddress.getText()+"'," +
                "'" +empage.getText()+"','" +empcnic.getText()+"','" +empjoining.getValue().format(formatter) +"','" +empleaving.getValue().format(formatter)+"'," +
                "'" +empmail.getText()+"','" +emptransport_id.getText()+"','" +emptype.getText()+"','" +chk.getText()+"','"+empphone.getText()+"')");
    

相关问题