首页 文章

将html5 datepicker插入oracle获取异常

提问于
浏览
1

我试图将html5 datepicker的日期插入到具有数据类型日期的Oracle表中,我已经尝试了很多东西,但我仍然面临问题,PLZ帮助我解决问题 .

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')

PLZ帮我解决了这个问题 .

2 回答

  • 1

    如果你想转换日期然后使用,

    DateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
    

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

    通过日期课程: -

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

  • 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();
    }
    

相关问题