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