RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
삽질하던 중에 검색 결과에 대한 레코드 수가 필요했습니다.

그래서 JAVA API를 뒤지고 있는데 getRow() 라는 메소드가 ResultSet클래스에 있는 겁니다.

아... 이거를 쓰면 수를 리턴하는구나 하고 사용했습니다.

그래서 동적 할당을 getRow() 수만큼 해서 받았습니다.

그런데 of out array 어쩌네 하면서 배열의 범위를 넘었네 그럽니다.

디버깅해보니 executeQuery 하자마자 getRow를 하면 0을 받아옵니다-_-;

그렇습니다. 이눔은 현재 가리키고 있는 곳까지의 수만 받아옵니다.

그래서 맨 끝으로 보내야합니다.

ResultSet클래스의 메소드 중에 last()가 있습니다.

맨 끝으로 보내고, 다시 처음으로 보내서 검색하면 되겠구나 라는 생각에

행구하기 (Language : java)
rs = stmt.executeQuery("select * from USERS");
rs.last();
int rowCount = rs.getRow();
rs.beforeFirst();


위와 같이 하면 오라클에서는
"전방향 전용 결과 집합에 부적합한 작업이 수행되었습니다"
라는 메시지를 띄우게 됩니다.

찾아본 결과 createStatement에 옵션을 주어야 하더군요.

Statement생성 (Language : java)
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);

rs = stmt.executeQuery("select * from USERS");
rs.last();
int rowCount = rs.getRow();
rs.beforeFirst();


라고 선언하고 하면 됩니다.

이올린에 북마크하기
2008/06/20 00:54 2008/06/20 00:54
http://jiny.kr/trackback/344
전체 (406)
지니소식 (4)
자료실 (4)
정보|뉴스 (5)
SmartPhone (1)
Languages (206)
Server (153)
Database (27)
Design (4)
Gallery (0)
분류하기귀찬.. (2)
«   2012/02   »
      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      
  1. 창의력과 상상력을 넘어서  2009
    Tomcat 6.0 기본 환경 설정
  2. 닥공  2009
    서블릿 tomcat 6.0 실행시 에러
  1. 2010/07 (1)
  2. 2010/05 (1)
  3. 2010/02 (3)
  4. 2010/01 (3)
  5. 2009/05 (2)
Statistics Graph