Recordset: Scrollen (ODBC)

Dieses Thema bezieht sich auf die MFC-ODBC-Klassen.

Nachdem Sie ein Recordset geöffnet haben, müssen Sie auf die Datensätze zugreifen, um Werte anzuzeigen, Berechnungen durchzuführen, Berichte zu generieren usw. Mit dem Scrollen können Sie von Datensatz zu Datensatz innerhalb Des Recordsets wechseln.

In diesem Thema wird Folgendes erläutert:

Scrollen von einem Datensatz zu einem anderen

Die Klasse CRecordset stellt die Move Memberfunktionen zum Scrollen innerhalb eines Recordsets bereit. Diese Funktionen verschieben den aktuellen Datensatz nach Rowsets. Wenn Sie das Abrufen von Massenzeilen implementiert haben, positioniert ein Move Vorgang das Recordset um die Größe des Rowsets. Wenn Sie das Abrufen von Massenzeilen nicht implementiert haben, positioniert ein Aufruf einer Move Funktion das Recordset jedes Mal um einen Datensatz. Weitere Informationen zum Abrufen von Massenzeilen finden Sie unter Recordset: Abrufen von Datensätzen in Massen (ODBC).For more information about bulk row fetching, see Recordset: Fetching Records in Bulk (ODBC).For more information about bulk row fetching, see Recordset: Fetching Records in Bulk (ODBC).For more information

Hinweis

Beim Durchlaufen eines Recordsets werden gelöschte Datensätze möglicherweise nicht übersprungen. Weitere Informationen finden Sie in der IsDeleted-Memberfunktion .

Zusätzlich zu den Move Funktionen werden Memberfunktionen bereitgestellt, um zu überprüfen, CRecordset ob Sie einen Bildlauf nach dem Ende oder vor dem Anfang des Recordsets vorgenommen haben.

Rufen Sie die CanScroll Memberfunktion auf, um festzustellen, ob ein Bildlauf in Ihrem Recordset möglich ist.

So scrollen Sie

  1. Weiterleiten eines Datensatzes oder eines Rowsets: Rufen Sie die MoveNext-Memberfunktion auf.

  2. Rückwärts ein Datensatz oder ein Rowset: Rufen Sie die MovePrev-Memberfunktion auf.

  3. Rufen Sie zum ersten Datensatz im Recordset die MoveFirst-Memberfunktion auf.

  4. Rufen Sie zum letzten Datensatz im Recordset oder zum letzten Rowset auf: Rufen Sie die MoveLast-Memberfunktion auf.

  5. N-Datensätze relativ zur aktuellen Position: Rufen Sie die Move-Memberfunktion auf.

So testen Sie das Ende oder den Anfang des Recordsets

  1. Haben Sie über den letzten Datensatz gescrollt? Rufen Sie die IsEOF-Memberfunktion auf.

  2. Haben Sie einen Bildlauf vor dem ersten Datensatz (rückwärts) vorgenommen? Rufen Sie die IsBOF-Memberfunktion auf.

Im folgenden Codebeispiel werden die Grenzwerte eines Recordsets beim Scrollen in beide Richtungen verwendet IsBOF und IsEOF erkannt.

// Open a recordset; first record is current
CCustSet rsCustSet( NULL );
rsCustSet.Open( );

if( rsCustSet.IsBOF( ) )
    return;
    // The recordset is empty

// Scroll to the end of the recordset, past
// the last record, so no record is current
while ( !rsCustSet.IsEOF( ) )
    rsCustSet.MoveNext( );

// Move to the last record
rsCustSet.MoveLast( );

// Scroll to beginning of the recordset, before
// the first record, so no record is current
while( !rsCustSet.IsBOF( ) )
    rsCustSet.MovePrev( );

// First record is current again
rsCustSet.MoveFirst( );

IsEOF gibt einen Wert ungleich Null zurück, wenn das Recordset hinter dem letzten Datensatz positioniert ist. IsBOF gibt einen Wert ungleich Null zurück, wenn das Recordset vor dem ersten Datensatz positioniert ist (vor allen Datensätzen). In beiden Fällen gibt es keinen aktuellen Datensatz, der ausgeführt werden kann. Wenn Sie aufrufenMovePrev, wenn IsBOF bereits WAHR ist oder wenn IsEOF MoveNext bereits WAHR ist, löst das Framework ein CDBException. Sie können auch ein leeres Recordset verwenden IsBOF und IsEOF überprüfen.

Weitere Informationen zur Recordsetnavigation finden Sie unter Recordset: Bookmarks and Absolute Positions (ODBC).For more information about recordset navigation, see Recordset: Bookmarks and Absolute Positions (ODBC).For more information about recordset navigation, see Recordset: Bookmarks and Absolute Positions (ODBC).For more information about records

Beim Ausführen des Bildlaufs wird der Bildlauf unterstützt.

Wie ursprünglich entworfen, hat SQL nur vorwärts scrollen bereitgestellt, aber ODBC erweitert Bildlauffunktionen. Die verfügbare Unterstützungsebene für das Scrollen hängt von den ODBC-Treibern ab, mit der Ihre Anwendung arbeitet, der ODBC-API-Konformitätsstufe des Treibers und davon, ob die ODBC-Cursorbibliothek in den Arbeitsspeicher geladen wird. Weitere Informationen finden Sie unter ODBC und ODBC: Die ODBC-Cursorbibliothek.

Tipp

Sie können steuern, ob die Cursorbibliothek verwendet wird. Siehe die Parameter "bUseCursorLib " und "dwOptions " zu "CDatabase::Open".

Hinweis

Im Gegensatz zu den MFC DAO-Klassen stellen die MFC ODBC-Klassen keine Reihe von Find Funktionen zum Suchen des nächsten (oder vorherigen) Datensatzes bereit, der bestimmte Kriterien erfüllt.

Siehe auch

Recordset (ODBC)
CRecordset::CanScroll
CRecordset::CheckRowsetError
Recordset: Filtern von Datensätzen (ODBC)