вставка html5 datepicker в oracle, получая исключения

1

Я пытаюсь вставить дату datepicker html5 в таблицу 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();
    }

каждый раз, когда я вношу изменения, я получаю новое исключение для ex.

java.sql.SQLException: ORA-01861: литерал не соответствует строке формата

java.text.ParseException: уникальная дата ("YYYY-MM-DD")

PLZ помочь мне решить эту проблему.

Теги:
jsp
servlets

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню