将html5 datepicker插入oracle获取异常

时间:2014-07-23 13:57:43

标签: java html5 oracle jsp servlets

我正在尝试将html5 datepicker的日期插入到具有数据类型日期的Oracle表中,我尝试了很多事情,但我仍然面临问题,请帮助我解决问题。

static int addNotification(String date,String message)
{
    int i=0;
    try {
        ps=con.prepareStatement("INSERT into ev values(?,to_date(?,'DD-MON-YYYY'))");           
        ps.setString(1, message);

         DateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
          DateFormat targetFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Date dt = originalFormat.parse(date);
            String formattedDate = targetFormat.format(dt); 
            System.out.println(formattedDate);
            ps.setString(2, formattedDate);
    //  ps.setDate(2,formattedDate);

        i=ps.executeUpdate();
    }

每当我进行更改时,我都会得到新的例外情况。

java.sql.SQLException:ORA-01861:literal与格式字符串不匹配

java.text.ParseException:无法解析的日期(' YYYY-MM-DD')

请帮助我解决这个问题。

2 个答案:

答案 0 :(得分:1)

您可以按如下方式使用PreparedStatement.setDate(int parameterIndex,Date x)

try {
    ps=con.prepareStatement("INSERT into ev values(?,?)");           
    ps.setString(1, message);

    DateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
    java.util.Date dt = originalFormat.parse(date);
    ps.setDate(2,dt);

    i=ps.executeUpdate();
}

答案 1 :(得分:1)

如果您想转换日期,请使用,

 DateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");

如果没有建议您不直接捕获html 5 datepickers数据,我宁愿使用javascript转换它并将其发送给响应。

通过日期课程: -

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date