질문을 제대로 못해서 죄송합니다..
어제 제가 올린건 해결이 됐습니다.. 이해가 잘 되질않아서 소스를 변경전
부분과 변경후 부분을 올리겠습니다.
========1번========
stmt = conn.createStatement();
rs = stmt.executeQuery(sb.toString());//sb.toString()은 쿼리부분
rtn = new String[rs.getRow()][4];
int row_idx = 0;
while(rs.next()) {
rtn[row_idx][0] = rs.getString(1);
rtn[row_idx][1] = rs.getString(2);
rtn[row_idx][2] = rs.getString(3);
rtn[row_idx][3] = rs.getString(4);
row_idx++;
}
========1번========
========2번========
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sb.toString());
rs.last();
rtn = new String[rs.getRow()][4];
rs.beforeFirst();
int row_idx = 0;
while(rs.next()) {
rtn[row_idx][0] = rs.getString(1);
rtn[row_idx][1] = rs.getString(2);
rtn[row_idx][2] = rs.getString(3);
rtn[row_idx][3] = rs.getString(4);
row_idx++;
}
========2번========
여기서 1번을 실행했을경우에는 결과값을 얻어오질 못합니다.
하지만 2번을 실행했을경우에는 결과값을 제대로 얻어옵니다..
일단 문제는 해결했지만,, 제가 개인적으로 생각을 해보면
1번또한 문제없이 결과를 얻어오리라 생각을 했습니다.
왜 2번처럼 해야만 결과값을 얻어오는지 궁굼합니다..
|