我正在使用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”。
答案 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注入攻击。