
getResult 메서드는 Statement 객체의 결과를 반환합니다. 하지만, 다음과 같은 경우에 null을 반환할 수 있습니다.
1. SQL 문이 실행되지 않았을 때
2. SQL 문이 실행되었지만, 결과가 없을 때
3. ResultSet 객체가 close() 메서드를 호출했을 때
4. ResultSet 객체가 이미 closed 상태일 때
#hostingforum.kr
java
// 예시 코드
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM 테이블명");
// ResultSet 객체가 close() 메서드를 호출하지 않으면 null이 반환되지 않습니다.
// 하지만, ResultSet 객체가 close() 메서드를 호출하면 null을 반환합니다.
rs.close(); // ResultSet 객체가 close() 메서드를 호출합니다.
// ResultSet 객체가 이미 closed 상태일 때는 null을 반환합니다.
rs = stmt.executeQuery("SELECT * FROM 테이블명");
rs = null; // ResultSet 객체를 null로 설정합니다.
rs.close(); // ResultSet 객체가 이미 closed 상태이므로 null을 반환합니다.
이러한 경우를 피하기 위해, ResultSet 객체를 사용할 때는 반드시 close() 메서드를 호출하여 닫아주고, ResultSet 객체가 null인지 확인하는 코드를 추가하여 NullPointerException 을 방지할 수 있습니다.
2025-04-04 18:01