SQLplus / JSP-INSERT出生日期为日期格式

时间:2012-03-15 05:46:02

标签: jsp sqlplus

我正在使用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+"')");

我表中的变量类型是“Date”。

1 个答案:

答案 0 :(得分: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