레코드 집합의 경계

레코드 집합BOFEOF 속성을 지원하여 데이터 세트의 시작과 끝을 각각 구분합니다. BOFEOF레코드 집합의 시작과 끝에 있는 “팬텀” 레코드로 간주할 수 있습니다. BOFEOF를 계산하면 이제 샘플 레코드 집합이 다음과 같이 표시됩니다.

ProductID ProductName 단가
BOF
7 밥 삼촌의 유기농 말린 배 30.0000
14 Tofu 23.2500
28 Rssle Sauerkraut 45.6000
51 Manjimup 말린 사과 53.0000
74 Longlife Tofu 10.0000
EOF

커서가 마지막 레코드를 지나면 EOFTrue로 설정됩니다. 그렇지 않으면 해당 값은 False입니다. 마찬가지로 커서가 첫 번째 레코드 전으로 이동하면 BOFTrue로 설정됩니다. 그렇지 않으면 해당 값은 False입니다. 이러한 속성은 일반적으로 다음 JScript 코드 조각에 설명된 대로 데이터 세트의 레코드를 열거하는 데 사용됩니다.

while (objRecordset.EOF != true)   
{  
   // Work on the current record.  
   ...  
   // Advance the cursor forward to the next record.  
   objRecordset.MoveNext();  
}  
or  
while (objRecordset.BOF != true)   
{  
   // Work on the current record.  
   ...  
   // Move the cursor to the previous record.  
   objRecordset.MovePrevious();  
}  

BOFEOF가 모두 True이면 Recordset 개체가 비어 있습니다. 새로 연 비어 있지 않은 Recordset 개체의 경우 두 속성 모두 False입니다. 다음 JScript 코드 조각과 같이 BOFEOF 속성을 함께 사용하여 Recordset 개체가 비어 있는지 여부를 확인할 수 있습니다.

if (objRecordset.EOF == true && objRecordset.BOF == true)  
{  
   WScript.Echo("we got an empty dataset.");  
}  
else  
{  
   WScript.Echo("we got a full dataset.");  
}  

이 체계는 모든 유형의 커서에 대해 작동하며 기본 공급자와 독립적입니다. RecordCount 속성 값이 0인지 여부를 확인하여 Recordset 개체가 비어 있는지 확인하려는 경우 결과의 레코드 수 반환을 지원하는 적절한 커서 및 공급자를 사용하도록 주의해야 합니다.

Recordset 개체에서 마지막으로 남은 레코드를 삭제하면 커서가 확정되지 않은 상태로 유지됩니다. BOFEOF 속성은 공급자에 따라 현재 레코드의 위치를 변경하려고 시도할 때까지 False로 유지될 수 있습니다. 자세한 내용은 Delete 메서드를 사용하여 레코드 삭제를 참조하세요.