2012-03-15 3 views
0

이름과 생년월일이있는 JSP 페이지에서 SQLPlus를 사용하여 데이터베이스의 테이블을 업데이트하는 방법, 생년월일을 날짜 형식으로 삽입하는 방법은 무엇입니까? 도와주세요.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(); 

SQL 매개 변수에 동적 매개 변수를 전달할 때는 항상 PreparedStatement를 사용해야합니다. 더 안전하고 강력하며 SQL 주입 공격을 피할 수 있습니다.

JDBC tutorial about prepared statements을 읽으십시오.