SQLplus/JSP-INSERT Дата рождения как формат даты

103
13

im обновлять таблицу базы данных с помощью SQLPlus со страницы JSP с именем и датой рождения, как вставить дату рождения в формат даты? Пожалуйста, помогите мне.

String dob=request.getParameter("DOB");
SimpleDateFormat formater = new SimpleDateFormat("dd-MM-yyyy");
Date result = formater.parse(dob);
stmt.executeUpdate("INSERT INTO table(DOB)VALUES('"+result+"')");

и мой тип переменной в таблице - "Дата".

спросил(а) 2021-01-19T15:01:03+03:00 9 месяцев, 1 неделя назад
1
Решение
65

Здесь вы не используете sqlplus. Вы используете JDBC.

Дата - дата. Это не строка. Sqlplus показывает вам дату как строку, отформатированную определенным образом, чтобы сделать ее доступной для чтения, но вы не должны преобразовывать даты в строки для их хранения. Используйте PreparedStatement:

String dob = request.getParameter("DOB");
SimpleDateFormat formater = new SimpleDateFormat("dd-MM-yyyy");
java.util.Date dateOfBirth = formater.parse(dob);

String sql = "insert into table (dob) value (?)";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setDate(1, new java.sql.Date(dateOfBirth.getTime());
stmt.executeUpdate();

PreparedStatement всегда должен использоваться для передачи динамических параметров в SQL-запрос. Это безопаснее, надежнее и избегать атак SQL-инъекций.

Прочтите учебник JDBC о подготовленных операциях.

ответил(а) 2021-01-19T15:01:03+03:00 9 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема