Freigeben über


Grenzen eines Recordsets

Recordset- unterstützt die BOF- und EOF- Eigenschaften, um den Anfang bzw. das Ende des Datasets zu delineieren. Sie können sich BOF- und EOF- als "Phantom"-Datensätze vorstellen, die am Anfang und Ende des Recordset-positioniert sind. Durch das Zählen von BOF und EOFwürde unser Beispiel--Datensatz nun folgendermaßen aussehen:

Produkt-ID ProductName Einzelpreis
BOF
7 Onkel Bobs getrocknete Bio-Birnen 30,0000
14 Tofu 23.2500
28 Rössle Sauerkraut 45.6000
51 Manjimup Getrocknete Äpfel 53.0000
74 Longlife Tofu 10,0000
EOF

Wenn ein Cursor über den letzten Datensatz hinausgeschoben wird, wird EOF- auf Truefestgelegt; andernfalls ist der Wert False. Wenn der Cursor vor dem ersten Datensatz bewegt wird, wird BOF- auf Truefestgelegt; andernfalls ist der Wert False. Diese Eigenschaften werden häufig zum Aufzählen von Datensätzen im Dataset verwendet, wie im folgenden JScript-Codefragment dargestellt.

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

Wenn sowohl BOF- als auch EOF-Truesind, ist das Recordset-Objekt leer. Beide Eigenschaften werden auf False für ein neu geöffnetes, nicht leeres Recordset-Objekt gesetzt. Sie können die eigenschaften BOF und EOF zusammen verwenden, um zu ermitteln, ob ein Recordset-Objekt leer oder nicht ist, wie im folgenden JScript-Codefragment gezeigt.

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

Dieses Schema funktioniert für alle Cursortypen und ist unabhängig von den zugrunde liegenden Anbietern. Wenn Sie versuchen, die Leerheit eines Recordset Objekts zu ermitteln, indem Sie überprüfen, ob der Wert der RecordCount Eigenschaft Null (0) ist, sollten Sie darauf achten, einen geeigneten Cursor und einen Provider zu verwenden, der die Rückgabe der Anzahl der Datensätze im Ergebnis unterstützt.

Wenn Sie den letzten verbleibenden Datensatz im Recordset--Objekt löschen, befindet sich der Cursor in einem unbestimmten Zustand. Die eigenschaften BOF- und EOF- bleiben möglicherweise False, bis Sie versuchen, den aktuellen Datensatz je nach Anbieter neu zu positionieren. Weitere Informationen finden Sie unter Löschen von Datensätzen mithilfe der Delete-Methode.