Grenzen eines Recordsets
Recordset unterstützt die Eigenschaften BOF und EOF, um den Anfang bzw. das Ende des Datensatzes abzugrenzen. Sie können sichBOF und EOF als „Phantom“-Datensätze vorstellen, die sich am Anfang und am Ende des Recordset befinden. Unter Berücksichtigung von BOF und EOF würde unser Beispiel-Recordset nun wie folgt aussehen:
ProductID | ProductName | UnitPrice |
---|---|---|
BOF | ||
7 | Getrocknete Birnen von Uncle Bob's Bio | 30.0000 |
14 | Tofu | 23.2500 |
28 | Rssle Sauerkraut | 45.6000 |
51 | Manjimup getrocknete Äpfel | 53.0000 |
74 | Langlebiger Tofu | 10.0000 |
EOF |
Wenn der Cursor über den letzten Datensatz hinausgeht, wird EOF auf True gesetzt, andernfalls auf False. Ähnlich verhält es sich, wenn sich der Cursor vor den ersten Datensatz bewegt, wird BOF auf True gesetzt; andernfalls ist sein Wert False. Diese Eigenschaften werden üblicherweise verwendet, um Datensätze im Datensatz aufzuzählen, 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 EOFTrue sind, ist das Recordset-Objekt leer. Bei einem neu geöffneten, nicht leeren Recordset-Objekt werden beide Eigenschaften auf False gesetzt. Sie können die Eigenschaften BOF und EOF zusammen verwenden, um zu bestimmen, ob ein Recordset-Objekt leer ist oder nicht, 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 System funktioniert für alle Arten von Cursorn und ist unabhängig von den zugrunde liegenden Anbietern. Wenn Sie die Leere eines Recordset-Objekts feststellen wollen, indem Sie prüfen, ob sein RecordCount-Eigenschaftswert Null (0) ist oder nicht, müssen Sie Vorkehrungen treffen, um einen geeigneten Cursor und Anbieter zu verwenden, die die Rückgabe der Anzahl der Datensätze im Ergebnis unterstützen.
Wenn Sie den letzten verbleibenden Datensatz im Recordset-Objekt löschen, bleibt der Cursor in einem unbestimmten Zustand. Die Eigenschaften BOF und EOF können je nach Anbieter auf False bleiben, bis Sie versuchen, den aktuellen Datensatz neu zu positionieren. Weitere Informationen finden Sie unter Löschen von Datensätzen mit der Delete-Methode.