티스토리 뷰
공.부.하.자./J,A,V,A,
java.sql.SQLException: 전방향 전용 결과 집합에 부적합한 작업이 수행되었습니다 : first
깨드기쫑 2010. 4. 15. 05:23
JDBC 에서
java.sql.SQLException: 전방향 전용 결과 집합에 부적합한 작업이 수행되었습니다 : first
ResultSet 객체의 first(), previous(), absolute()의 탐색중 만나게 된 에러이다.
이유인즉슨, ResultSet 객체는 기본적으로 후방향 탐색이 우선으로,
쉽게 말하자면, 간단히 next(), last() 메소드처럼 포인트 이동이 후방향으로만 이루어지는 것이다.
이루어지는 것이라고 하면 뭔가 좀 그런것 같다.
어쨌든, ResultSet 객체 자체는 전후방 모든 탐색이 가능하지만.....
보통 ResultSet 객체를 획득할 때, PreparedStatement 객체의 executeQuery()
메소드를 통하여 얻게 되는데, 이 때 PreparedStatement 객체로부터 반환되어지는
ResultSet 객체는 후방향 탐색만이 가능하도록 되어진 객체이다.
따라서 PreparedStatement 객체를 Connection 객체로부터 얻을 때
사용하는 Connection객체의 preparedStatement() 또는 createStatement() 메서드에
ResultSet 객체의 두 정적 필드 값을 넘겨준다.
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE
이 두 필드값을 preparedStatement() 또는 createStatement() 메서드에 파라미터값으로 넣어준다.
실제 사용 예는 다음과 같다.
dbConnection = DbConnection.getConnection();
pstmt = conn.prepareStatement(sqlWithFid, ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = pstmt.executeQuery();
이렇게 코드를 구성하고 난 뒤부터는
ResultSet 객체를 임의대로 전, 후방향으로 탐색할 수 있다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 티베로는 나에게 어울리지 않아
- tbexport
- remote repository
- Publish+Over+SSH
- 티베로
- 메이븐
- 스프링
- tibero database export import
- 쿼리로그
- plugin execution not covered
- 원격저장소
- 서버
- Oracle
- Spring
- 윈도우
- SEED 알고리즘
- log4jdbc
- tbimport
- 엑스플랫폼
- sql log
- maven
- 이클립스
- Tibero
- 사용자변경
- svn 서비스 등록
- 오라클
- 우분투
- 설치
- 원격배포
- tibero database backup
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함