共用方式為


記錄集的界限

Recordset 支援 BOFEOF 屬性,以分別描述數據集的開頭和結尾。 您可以將 BOFEOF 視為位於 Recordset開頭和結尾的「虛設」記錄。 計算 BOF 以及 EOF之後,我們的範例 Recordset 現在看起來是這樣的:

ProductID ProductName 單價
基礎氧氣轉爐
7 鮑勃叔叔的有機乾梨 30.0000
14 豆腐 23.2500
28 Rssle 德國酸菜 45.6000
51 曼吉穆普乾蘋果 53.0000
74 長壽豆腐 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();  
}  

如果 BOFEOF 兩者都 True,則 Recordset 對像是空的。 這兩個屬性在新開啟、非空的 Recordset 物件中都為 False。 您可以使用 BOFEOF 屬性來判斷 Recordset 物件是否為空白,如下列 JScript 代碼段所示。

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方法刪除記錄