웹 개발

DAO에서 while(rs.next)를 사용할 때

_KH_ 2025. 4. 9. 14:42

왜 자꾸 에러가 발생하나 했더니.. 얘 때문이었다..

while (rs.next())보다 rs.getLong("MEMBER_NUMBER") 먼저 사용해서 발생한 에러.

 

ResultSet rs가 아직 아무것도 가리키고 있지 않은 상태에서 getLong~ 으로 데이터를 가져오려고 시도했기 때문이다

예를 들면, 책을 피지도 않았으면서 책을 읽으려고 하는 것과 마찬가지인 상태.

 

ResultSet : 줄여서 rs. " 결과 집합", 즉 DB에서 가져온 테이블 형태의 데이터

 

ResultSet rs = pstmt.executeQuery();

쿼리를 실행하고 rs라는 변수에 담아달라는 것.

 

while(rs.next()) {
    String id = rs.getString("MEMBER_ID");
    String name = rs.getString("MEMBER_NAME");
    ....
}

라는 코드가 있으면

rs는 책 한권이라고 예시를 들 수 있고,

next()를 통해 책 한장씩 넘기면서 읽어오는 것이라고 할 수 있다.

 

rs.getString("컬럼명")은 현재 페이지에서 단어를 읽는 것

 

즉, while문을 통해 다음 요소가 존재할 때까지 해당 집합 안에 있는 모든 데이터들을 읽어오는 형태를 말한다. 

'웹 개발' 카테고리의 다른 글

do, did  (1) 2025.04.11
java.util.Date와 java.sql.Date 차이  (0) 2025.04.10
네이버 로그인 API 적용 시 MEMBER_ID가 NULL인 경우  (0) 2025.04.08
이메일 인증번호 발송 실패 에러  (0) 2025.04.07
이메일 API 사용하기  (0) 2025.04.02