2011-04-05 1 views

답변

1

Date 사전에

Calendar cal = Calendar.getInstance(); 
java.sql.Date sqlDate = new java.sql.Date(cal.getTime().getTime()); 

JdbcTemplate jdbcTemplate = new JdbcTemplate(ds); 
int id = jdbcTemplate 
    .queryForInt("select TASK_ID from timesheet where task_id=1"); 
jdbcTemplate.update("update timesheet set date=? where task_id=20", 
        new Object[] { sqlDate }); 

감사 : 나는 그것을주는 JdbcTemplate을 사용하여 테이블에서 날짜를 업데이트하려고하면 나를

"Caused by: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement." 

에러

이것은 코드 Jet (Access db 엔진)의 키워드이므로 대괄호로 "이스케이프 처리"해야합니다. 또한 날짜 리터럴은 #으로 구분됩니다. 나는 당신의 날짜가 그렇게 형식화되어 있는지 알기에 자바에 익숙하지 않다.

"update timesheet set [date]=#4/5/2011# where task_id=20" 
: 어떤 경우에

, 당신의 SQL 문자열은 다음과 같이 할 필요가