PreparedStatement
setDate
개체가 필요한 java.sql.Date
에 문자열을 사용하려고 하면 오류가 발생합니다. 문자열 날짜 입력을 올바르게 처리하는 방법은 다음과 같습니다.
방법 1: 문자열을 java.sql.Date
이 접근 방식은 문자열 날짜를 java.sql.Date
에 전달하기 전에 setDate
개체로 변환합니다. 문자열을 구문 분석하려면 DateFormat
객체(예: SimpleDateFormat
)가 필요합니다.
<code class="language-java">java.sql.Date date = new java.sql.Date(dateFormatMDY.parse(vDateMDYSQL).getTime()); prs.setDate(2, date); </code>
파싱 프로세스 중에 잠재적인 ParseException
예외를 처리하는 것을 잊지 마세요.
방법 2: setString
및 데이터베이스 변환 사용
이 방법은 setString
을 활용하고 데이터베이스를 사용하여 날짜 변환을 수행합니다. 문자열을 날짜로 변환하려면 SQL 쿼리에 to_date
함수(또는 데이터베이스 시스템에 해당하는 함수)가 포함되어야 합니다.
<code class="language-java">prs.setString(2, vDateMDYSQL); // ... SQL statement ... to_date(?, 'MM/dd/yyyy HH:mm:ss') // ... rest of the SQL statement ...</code>
형식 문자열('MM/dd/yyyy HH:mm:ss')은 vDateMDYSQL
문자열 형식과 일치해야 합니다. 특정 날짜 형식에 맞게 필요에 따라 조정하세요.
최적의 방법은 애플리케이션의 요구 사항과 데이터베이스 기능에 따라 다릅니다. 방법 1은 클라이언트 측에서 더 나은 제어 기능을 제공하지만 오류 처리가 필요합니다. 방법 2는 Java 코드를 단순화하지만 변환 부담을 데이터베이스로 이동합니다. 최상의 접근 방식을 선택할 때 데이터베이스 성능 및 오류 처리와 같은 요소를 고려하십시오.
위 내용은 문자열 입력과 함께 preparedStatement에서 setDate를 올바르게 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!