다음을 통해 공유


NextRecordset 메서드(ADO)

현재 Recordset 개체를 지우고 일련의 명령을 진행하여 다음 Recordset 반환합니다.

통사론

  
Set recordset2 = recordset1.NextRecordset(RecordsAffected )  

반환 값

Recordset 개체를 반환합니다. 구문 모델에서 recordset1recordset2Recordset 개체와 동일하거나 별도의 개체를 사용할 수 있습니다. 별도의 Recordset 개체를 사용하는 경우 NextRecordset 호출된 후 원래 Recordset(recordset1)에서 ActiveConnection 속성을 다시 설정하면 오류가 발생합니다.

매개 변수

RecordsAffected
선택적. 공급자가 현재 작업에 영향을 주는 레코드 수를 반환하는 Long 변수입니다.

메모

이 매개 변수는 작업의 영향을 받는 레코드 수만 반환합니다. Recordset생성하는 데 사용되는 select 문에서 레코드 수를 반환하지 않습니다.

발언

복합 명령문에서 다음 명령의 결과를 반환하거나 여러 결과를 반환하는 저장 프로시저의 결과를 반환하려면 NextRecordset 메서드를 사용합니다. 복합 명령문을 기반으로 Recordset 개체를 여는 경우(예: "SELECT * FROM table1; SELECT * FROM table2") CommandExecute 메서드 또는 RecordsetOpen 메서드를 사용하여 ADO는 첫 번째 명령만 실행하고 결과를 레코드 집합반환합니다. 문에서 후속 명령의 결과에 액세스하려면 NextRecordset 메서드를 호출합니다.

추가 결과가 있고 복합 문을 포함하는 Recordset 프로세스 경계 간에 연결이 끊어지거나 마샬링되지 않는 한 NextRecordset 메서드는 Recordset 개체를 계속 반환합니다. 행 반환 명령이 성공적으로 실행되었지만 레코드를 반환하지 않으면 반환된 Recordset 개체가 열려 있지만 비어 있습니다. BOFEOF 속성이 모두 True 있는지 확인하여 이 사례를 테스트합니다. 행을 반환하지 않는 명령이 성공적으로 실행되면 반환된 Recordset 개체가 닫힙니다. 이 개체는 RecordsetState 속성을 테스트하여 확인할 수 있습니다. 더 이상 결과가 없으면 레코드 집합Nothing설정됩니다.

NextRecordset 메서드는 연결이 끊긴 Recordset 개체에서 사용할 수 없습니다. 여기서 ActiveConnectionNothing(Microsoft Visual Basic) 또는 NULL(다른 언어)으로 설정되었습니다.

즉시 업데이트 모드에서 편집이 진행 중인 경우 NextRecordset 메서드를 호출하면 오류가 발생합니다. 먼저 업데이트 또는 cancelUpdate 메서드를 호출합니다.

Parameters 컬렉션을 채우거나 원래 Open 또는 Execute 호출을 사용하여 배열을 전달하여 복합 문에서 둘 이상의 명령에 대한 매개 변수를 전달하려면 매개 변수가 컬렉션이나 배열에서 명령 계열의 해당 명령과 동일한 순서여야 합니다. 출력 매개 변수 값을 읽기 전에 모든 결과 읽기를 완료해야 합니다.

OLE DB 공급자는 복합 문의 각 명령이 실행되는 시기를 결정합니다. 예를 들어 Microsoft OLE DB Provider for SQL Server복합 문을 받으면 모든 명령을 일괄 처리로 실행합니다. 결과 레코드 집합NextRecordset호출하면 반환됩니다.

그러나 다른 공급자는 NextRecordset이 호출된 후에만 문에서 다음 명령을 실행할 수 있습니다. 이러한 공급자의 경우 전체 명령 문을 단계별로 실행하기 전에 Recordset 개체를 명시적으로 닫는 경우 ADO는 나머지 명령을 실행하지 않습니다.

적용 대상

ADO(Recordset 개체)

참고 항목

NextRecordset 메서드 예제(VB)
NextRecordset 메서드 예제(VC++)