[JSP] rs.next() 설명
간단하게 설명 드립니다.
select count(*) from board을 실행 하면 카운트를 세겠죠 10이 나온다고 가정하면
rs = pstmt.executeQuery();
즉 이부분에서select count(*) from board실행이 되서 결과 값이 10 이 나옵니다. 그 결과 값을 rs
즉 ResultSet에 넘겨 주는 거구요.
그리고 insert 나 delete, update는 pstmt.executeUpdate();사용 하지만
select는pstmt.executeQuery(); 사용 합니다.
즉 ResulSet 이 나오는 select에 executeQuery()를 사용 하는 것입니다.
public ResultSet executeQuery()throws SQLExceptionpublic int executeUpdate() throws SQLException
if (rs.next()) {
x= rs.getInt(1);
}
이부분은 간단 하게 만약 rs 즉 결과가 있다면
rs.getInt(1); 첫 번째 결과 값을 int형으로 x에 집어 넣으란 소리로 10을 x에 넣으란 소립니다.
하지만 님이 select boardno, name from board라고 쿼리를 실행 시켰다면 결과가 두개가 됩니다.
int boardno = 0;
String name = "";
if (rs.next()) {
boardno = rs.getInt(1);
name = rs.getString(2);
}
이런 식으로 결과 값을 가지고 오는 겁니다.
숫자로 쓰기 약간 햇갈리시면 컬럼 명을 사용 하셔도 됩니다.
boardno = rs.getInt("boardno");
name = rs.getString("name");