Freigeben über


CDaoRecordset::IsBOF

Rufen Sie die Memberfunktion auf, bevor Sie von Datensatz zu Datensatz wechseln, um zu erfahren, ob Sie vor dem ersten Datensatz des Recordsets gegangen sind.

BOOL IsBOF( ) const;

Rückgabewert

Ungleich 0 (null), wenn das Recordset keine Datensätze enthält, oder wenn Sie rückwärts vor dem ersten Datensatz hinaus gescrollt haben; 0 andernfalls.

Hinweise

Sie können IsBOF zusammen mit IsEOF auch aufrufen, um zu bestimmen, ob das Recordset alle Datensätze enthält oder leer ist. Unmittelbar nach dem Sie Öffnen aufrufen, wenn das Recordset keine Datensätze enthält, gibt IsBOF-Wert ungleich 0 (null) zurück. Wenn Sie ein Recordset öffnen, das mindestens einen Datensatz ist, ist der erste Datensatz die gibt 0 des aktuellen Datensatzes und IsBOF.

Wenn der erste Datensatz der aktuelle Datensatz ist und Sie MovePrev aufrufen, gibt IsBOF nach Wert ungleich 0 (null) zurück. Wenn IsBOF-Wert ungleich 0 zurückgibt und Sie MovePrev aufrufen, wird eine Ausnahme ausgelöst. Wenn IsBOF-Wert ungleich 0 zurückgibt, wird der aktuelle Datensatz nicht definiert, und jede Aktion, die einen aktuellen Datensatz erfordert, führt eine Ausnahme.

Auswirkungen bestimmter Methoden auf IsBOF und IsEOF Einstellungen:

  • Das Aufrufen von Öffnen intern macht den ersten Datensatz des Recordsets den aktuellen Datensatz, indem MoveFirst aufruft. Daher bewirkt das Aufrufen von Öffnen auf eine leere Menge Datensätzen IsBOF und IsEOF, Wert ungleich 0 zurückzugeben. (Siehe die folgende Tabelle für das Verhalten der fehlgeschlagenen MoveFirst oder von MoveLast Aufruf.)

  • Alle Verschiebungsvorgänge, die erfolgreich eine Rekordursache IsBOF und IsEOF suchen, um 0 zurückzugeben.

  • Ein AddNew Aufruf, der von einem Update Aufruf folgt, der erfolgreich einen neuen Datensatz einfügt, wird IsBOF, 0 zurückzugeben, jedoch nur, wenn IsEOF bereits ungleich 0 (null) ist. Der Zustand des IsEOF verbleibt stets unverändert. Wie durch das Microsoft Jet-Datenbankmodul definiert, ist der Zeiger für den aktuellen Datensatz eines leeren Recordsets am Ende einer Datei, sodass jeder neue Datensatz nach dem aktuellen Datensatz eingefügt.

  • Kein Löschen Aufruf, auch wenn er den einzigen verbleibenden Datensatz aus einem Recordset entfernt, ändert nicht den Wert von IsBOF oder von IsEOF.

Diese Tabelle zeigt, welche Verschiebungsvorgänge mit verschiedenen Kombinationen von IsBOF/IsEOF zugelassen werden.

 

MoveFirst, MoveLast

MovePrev,

Verschieben < 0

Verschiebung 0

MoveNext,

Verschieben > 0

IsBOF=nonzero,

IsEOF=0

Zulässig

Ausnahme

Ausnahme

Zulässig

IsBOF=0,

IsEOF=nonzero

Zulässig

Zulässig

Ausnahme

Ausnahme

Sowohl Wert ungleich 0

Ausnahme

Ausnahme

Ausnahme

Ausnahme

Sowohl 0

Zulässig

Zulässig

Zulässig

Zulässig

Erstellen eines Verschiebungsvorgang zuzulassen bedeutet nicht, dass der Vorgang erfolgreich einen Satz findet. Es gibt lediglich an, dass versucht wurde, den angegebenen Verschiebungsvorgang auszuführen ist zulässig und wird keine Ausnahme generieren. Der Wert der IsBOF und IsEOF-Memberfunktionen ändert aufgrund der Verschiebung versucht haben.

Der Zweck von Verschiebungsvorgängen, die keinen Satz auf dem Wert von IsBOF und von IsEOF Einstellungen finden, wird in der folgenden Tabelle gezeigt.

 

IsBOF

IsEOF

MoveFirst, MoveLast

Wert ungleich 0

Wert ungleich 0

Move 0

Keine Änderung

Keine Änderung

MovePrev, Move < 0

Wert ungleich 0

Keine Änderung

MoveNext, Move > 0

Keine Änderung

Wert ungleich 0

Weitere Informationen finden Sie im Thema "BOF, EOF-Eigenschaften" in der DAO-Hilfe.

Anforderungen

Header: afxdao.h

Siehe auch

Referenz

CDaoRecordset-Klasse

Hierarchiediagramm

CDaoRecordset::IsEOF