[ResultSet 개체의 주요 메서드]
-next():다음행으로 커서를 옮김
-previous():이전 행으로 커서를 옮김
-first():첫번째 행으로 커서를 옮김
-last()마지막 행으로 커서를 옮김
-afterLast():커서를 마지막 행 바로 다음으로 옮김(EOF:END OF FILE)
-beforeFirst():커서를 첫번째 행 바로 앞으로 옮김(BOF:BEGIN OF FILE)
-getRow():현재 커서가 위한 행의 인덱스를 돌려 준다.인덱스는 첫번째 행 바로 앞이 0
-absolute(인덱스): 해당 인덱스 로 커서 이동, 양수-전진 ,음수-후진
public class ResultSetType extends IConnectImpl{
public ResultSetType(String url, String user, String password){
super(url,user,password);
}
@Override
public void execute() throws Exception {
try{
//1.쿼리문 미리 준비
String sql = "SELECT *FROM emp ORDER BY sal DESC";
//2.쿼리 실행용 객체 (Statement계열-PreparedStatement) 생성
//psmt = conn.prepareStatement(sql); 이건 전진만 가능 함
//전, 후진 가능모드 인자들 잘 확인하자!
psmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = psmt.executeQuery();
//3.쿼리 실행
System.out.println("커서를 마지막 레코드 이동:"+rs.last());
System.out.println("총 레코드 수:"+rs.getRow());
System.out.println("[연봉이 높은 순]");
rs.beforeFirst(); // 커서를 위로 올려서!!
while(rs.next()) { // 내려오면서 실행 됨
System.out.println(String.format("%-6s%-8s%-11s%-6s%s",
rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(6),
rs.getDate(5)
));
} // 커서 내려 와있으니
System.out.println("[연봉이 낮은 순]");
while(rs.previous()) { // 올라가면서 실행, 출력!
System.out.println(String.format("%-6s%-8s%-11s%-6s%s",
rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(6),
rs.getDate(5)
));
}
}
finally {
close();
}
}
public static void main(String[] args) throws Exception {
new ResultSetType(ORACLE_URL,"scott","scott").execute();
}//////main
}/////class
'학원 > JDBC' 카테고리의 다른 글
10/25 28-2 ExecuteSQL (1) | 2022.10.25 |
---|---|
10/25 28-1 ResultSetMetaData (인터페이스) (0) | 2022.10.25 |
10/24 27-14 (IsmemberProc().CallableStatement) (0) | 2022.10.24 |
10/24 27-13 (DeleteProc.CallableStatement) (0) | 2022.10.24 |
10/24 27-12 (UpdateProc.CallableStatement) (0) | 2022.10.24 |