집 >데이터 베이스 >MySQL 튜토리얼 >`java.sql.SQLException: Exhausted Resultset`가 `while (rs.next())` 루프 후에 발생하는 이유는 무엇입니까?
java.sql.SQLException: Exhausted Resultset
데이터베이스 쿼리를 실행할 때 ResultSet 개체를 올바르게 처리하는 것이 중요합니다. ResultSet가 소진된 후 데이터에 액세스하려는 추가 시도가 있으면 Java에서 "java.sql.SQLException: Exhausted Resultset" 오류가 발생할 수 있습니다. 이 오류는 일반적으로 while(rs.next()) 루프를 완료한 후 열 값에 액세스할 때 발생합니다.
다음 코드 조각을 고려하세요.
if (rs != null) { while (rs.next()) { count = rs.getInt(1); } count = rs.getInt(1); // This line attempts to access a value after the ResultSet has been exhausted and will throw the error. }
While 루프가 완료된 후 , ResultSet가 모두 사용되었으며 더 이상 데이터를 검색할 수 없습니다. 이 시점에서 rs.getInt(1)를 사용하여 열 값에 액세스하려고 시도하면 "Exhausted Resultset" 오류가 발생합니다.
이 문제를 해결하려면 열 값에 대한 모든 액세스가 while(rs .next()) 루프. 예:
if (rs != null) { while (rs.next()) { int count = rs.getInt(1); } }
위 내용은 `java.sql.SQLException: Exhausted Resultset`가 `while (rs.next())` 루프 후에 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!