JAVA

rs 개수 가지고 오기

질주하는구 2015. 3. 5. 10:20

ResultSet 에서 전체 row를 구할려고 했는데 막상 해보니 에러가 발생

rs.last();

int totalRowCount = rs.getRow();

rs.first();


Exception 내용이

------------------------------------------------------

java.sql.SQLException: 전방향 전용 결과 집합에 부적합한 작업이 수행되었습니다 : last

------------------------------------------------------

그래서 찾아보니까 아래와 같이 statement 를 생성할때 옵션을 지정해 줘야 한다.

conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

그리고 

rs.first();

을 하게 되면 rs.next()을 한번 한 효과가 있다.

그래서 rs를 가져올때 rs.next() 부터 하게 되면 첫번째 데이타를 가져오지 못한다.

rs.first();

while(rs.next()) {

rs.getString("aa");

}

위와같이 하게 되면 첫번째 데이타를 가져오지 못하니 첫번째 데이타는 

while(rs.next()) 전에 먼저 한번 get 해야 한다.


반응형