cubrid.jdbc.driver.CUBRIDException: Attempt to access a closed ResultSet.

by 처음큐브리드 posted Feb 12, 2011

cubrid 처음 사용합니다.

 

java 로 사용 중인데, 샘플 소스를 간단히 정리 하면

 

try {

  conn = CubridConnection.get();

  conn.setAutoCommit(false);

 

  String sql = "select name from user where id = ?";

  ps = conn.prepareStatement(sql);

  ps.setString(1, "abc");

  rs = ps.executeQuery();

 

 if (rs.next())

    rtn = rs.getString(1);

else

    rtn = "null";

 

} catch (Exception e) {

 ...

}

 

과 같습니다.

 

user 테이블에서 조건에 맞는 데이터가 없으면

 

cubrid.jdbc.driver.CUBRIDException: Attempt to access a closed ResultSet.

 

이런 exception 이 발생 하던데요.

 

검색 해 보니 원래 큐브리드에서 result set 처리 방식이 http://dev.naver.com/projects/cubrid/issue?func=detail&atid=121&aid=2997&group_id=15 문서와 같다는 것은 알았습니다.

 

위와 같은 코드는 일반적인 코드 인데, 조건에 맞는 데이터 값이 없을 때 처리하는 방법이 없고, exception 으로만 처리해야 한다는 것이 이해가 안 되는데요.

 

정말 exception 처리 밖에 없는 것인가요?