레코드 집합의 경계
레코드 집합은 BOF 및 EOF 속성을 지원하여 데이터 세트의 시작과 끝을 각각 구분합니다. BOF 및 EOF는 레코드 집합의 시작과 끝에 있는 “팬텀” 레코드로 간주할 수 있습니다. BOF 및 EOF를 계산하면 이제 샘플 레코드 집합이 다음과 같이 표시됩니다.
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 |
커서가 마지막 레코드를 지나면 EOF가 True로 설정됩니다. 그렇지 않으면 해당 값은 False입니다. 마찬가지로 커서가 첫 번째 레코드 전으로 이동하면 BOF가 True로 설정됩니다. 그렇지 않으면 해당 값은 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();
}
BOF와 EOF가 모두 True이면 Recordset 개체가 비어 있습니다. 새로 연 비어 있지 않은 Recordset 개체의 경우 두 속성 모두 False입니다. 다음 JScript 코드 조각과 같이 BOF 및 EOF 속성을 함께 사용하여 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 개체에서 마지막으로 남은 레코드를 삭제하면 커서가 확정되지 않은 상태로 유지됩니다. BOF 및 EOF 속성은 공급자에 따라 현재 레코드의 위치를 변경하려고 시도할 때까지 False로 유지될 수 있습니다. 자세한 내용은 Delete 메서드를 사용하여 레코드 삭제를 참조하세요.