ResultSet 예외: "결과 세트 시작 전"
쿼리를 실행하면 검색된 데이터 행이 포함된 ResultSet 개체가 반환됩니다. 그러나 처음에는 커서가 첫 번째 행 앞을 가리키므로 데이터를 검색하려고 할 때 "결과 집합 시작 전" 예외가 발생합니다.
원인:
오류 먼저 유효한 위치에 커서를 놓지 않고 ResultSet 데이터에 액세스할 때 발생합니다. row.
해결책:
문제를 해결하려면 다음 코드를 사용하여 데이터 검색을 시도하기 전에 커서를 첫 번째 행으로 이동하세요.
result.next(); String foundType = result.getString(1);
향상된 코드 조각:
String sql = "SELECT type FROM node WHERE nid = ?"; PreparedStatement prep = conn.prepareStatement(sql); int meetNID = Integer.parseInt(node.get(BoutField.field_meet_nid)); prep.setInt(1, meetNID); ResultSet result = prep.executeQuery(); if (result.next()) { // Move cursor to first row String foundType = result.getString(1); ... // code to validate type } else { throw new IllegalArgumentException(String.format("Node %d must be of type 'meet', but was %s", meetNID, foundType)); }
이 수정을 통해 데이터에 액세스하기 전에 커서가 ResultSet의 첫 번째 행에 위치하도록 하여 "결과 집합 시작 전" 예외를 방지합니다.
위 내용은 ResultSet 데이터를 처리할 때 '결과 세트 시작 전' 예외를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!