【问题标题】:inserting html5 datepicker into oracle getting exceptions将 html5 datepicker 插入 oracle 获取异常
【发布时间】:2014-07-23 13:57:43
【问题描述】:

我正在尝试将 html5 datepicker 的日期插入到具有数据类型 date 的 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: 文字与格式字符串不匹配

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

请帮我解决这个问题。

【问题讨论】:

    标签: java html oracle jsp servlets


    【解决方案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();
    }
    

    【讨论】:

      【解决方案2】:

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

       DateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
      

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

      通过日期类:-

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

      【讨论】:

        猜你喜欢
        • 2016-05-17
        • 2017-01-03
        • 1970-01-01
        • 2020-07-16
        • 2010-11-07
        • 1970-01-01
        • 2019-12-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多