2012-03-15 1 views
0

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

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+"')"); 

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

ответ

1

Здесь вы не используете 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 tutorial about prepared statements.