2012-03-15 11 views
0

イムとして誕生のJSP-INSERT日には、どのように日付形式の誕生の日付を挿入するには?私を助けてください。SQLPLUS /名前と生年月日を持つJSPページからsqlplusでデータベースにテーブルを更新日付形式

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(); 

SQLクエリに動的パラメータを渡すには、PreparedStatementを常に使用する必要があります。より安全で、より堅牢で、SQLインジェクション攻撃を回避できます。

JDBC tutorial about prepared statementsをお読みください。

関連する問題