2012-03-15 21 views
0

即時更新數據庫與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