Batas Perangkat rekam

Recordset mendukung properti BOF dan EOF untuk menguraikan awal dan akhir, masing-masing, dari himpunan data. Anda dapat menganggap BOF dan EOF sebagai rekaman "phantom" yang diposisikan di awal dan akhir Recordset. Menghitung BOF dan EOF, sampel Recordset kami sekarang akan terlihat seperti ini:

ProductID ProductName UnitPrice
BOF
7 Pir Kering Organik Paman Bob 30.0000
14 Tahu 23.2500
28 Rssle Sauerkraut 45.6000
51 Apel Kering Manjimup 53.0000
74 Tahu Longlife 10.0000
EOF

Saat kursor bergerak melewati rekaman terakhir, EOF diatur ke True; jika tidak, nilainya adalah False. Demikian pula, ketika kursor bergerak sebelum rekaman pertama, BOF diatur ke True; jika tidak, nilainya adalah False. Properti ini biasanya digunakan untuk menghitung rekaman dalam himpunan data, seperti yang diilustrasikan dalam fragmen kode JScript berikut.

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();  
}  

Jika BOF dan EOFtrue, objek Recordset kosong. Kedua properti akan false untuk objek Recordset yang baru dibuka dan tidak kosong. Anda dapat menggunakan properti BOF dan EOF bersama-sama untuk menentukan apakah objek Recordset kosong atau tidak, seperti yang ditunjukkan dalam fragmen kode JScript berikut.

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

Skema ini berfungsi untuk semua jenis kursor dan independen dari penyedia yang mendasar. Jika Anda mencoba menentukan kekosongan objek Recordset dengan memeriksa apakah nilai properti RecordCount-nya adalah nol (0) atau tidak, Anda harus mengambil tindakan pencegahan untuk menggunakan kursor dan penyedia yang sesuai yang mendukung pengembalian jumlah rekaman dalam hasil.

Jika Anda menghapus rekaman terakhir yang tersisa di objek Recordset , kursor dibiarkan dalam status tidak ditentukan. Properti BOF dan EOF mungkin tetap False sampai Anda mencoba memposisikan ulang rekaman saat ini, tergantung pada penyedia. Untuk informasi selengkapnya, lihat Menghapus Rekaman Menggunakan Metode Hapus.