Partager via


Recordset : Défilement (ODBC)

Cette rubrique s’applique aux classes ODBC MFC.

Après avoir ouvert un jeu d’enregistrements, vous devez accéder aux enregistrements pour afficher des valeurs, effectuer des calculs, générer des rapports, et ainsi de suite. Le défilement vous permet de passer de l’enregistrement à l’enregistrement dans votre jeu d’enregistrements.

Cette rubrique explique :

Défilement d’un enregistrement vers un autre

La classe CRecordset fournit les Move fonctions membres pour le défilement dans un jeu d’enregistrements. Ces fonctions déplacent l’enregistrement actif par ensembles de lignes. Si vous avez implémenté l’extraction de lignes en bloc, une Move opération repositionne le jeu d’enregistrements en fonction de la taille de l’ensemble de lignes. Si vous n’avez pas implémenté la récupération de lignes en bloc, un appel à une Move fonction repositionne le jeu d’enregistrements par un enregistrement à chaque fois. Pour plus d’informations sur l’extraction de lignes en bloc, consultez Recordset : Extraction d’enregistrements en bloc (ODBC).

Remarque

Lors du déplacement d’un jeu d’enregistrements, les enregistrements supprimés peuvent ne pas être ignorés. Pour plus d’informations, consultez la fonction membre IsDeleted .

En plus Move des fonctions, CRecordset fournit des fonctions membres pour case activée que vous ayez fait défiler la fin ou l’avance du début de votre jeu d’enregistrements.

Pour déterminer si le défilement est possible dans votre jeu d’enregistrements, appelez la CanScroll fonction membre.

Pour faire défiler

  1. Transférer un enregistrement ou un ensemble de lignes : appelez la fonction membre MoveNext .

  2. Un enregistrement ou un ensemble de lignes vers l’arrière : appelez la fonction membre MovePrev .

  3. Pour le premier enregistrement du jeu d’enregistrements : appelez la fonction membre MoveFirst .

  4. Pour le dernier enregistrement dans le jeu d’enregistrements ou vers le dernier ensemble de lignes : appelez la fonction membre MoveLast .

  5. N enregistrements relatifs à la position actuelle : appelez la fonction De membre Move .

Pour tester la fin ou le début du jeu d’enregistrements

  1. Avez-vous fait défiler le dernier enregistrement ? Appelez la fonction membre IsEOF .

  2. Avez-vous fait défiler vers l’avant du premier enregistrement (en arrière) ? Appelez la fonction membre IsBOF .

L’exemple de code suivant utilise IsBOF et IsEOF détecte les limites d’un jeu d’enregistrements lors du défilement dans les deux sens.

// 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 retourne une valeur différente de zéro si le jeu d’enregistrements est positionné au-delà du dernier enregistrement. IsBOF retourne une valeur différente de zéro si le jeu d’enregistrements est positionné devant le premier enregistrement (avant tous les enregistrements). Dans les deux cas, il n’existe aucun enregistrement actif sur lequel opérer. Si vous appelez MovePrev quand IsBOF est déjà VRAI ou quand MoveNext est IsEOF déjà VRAI, l’infrastructure lève un CDBException. Vous pouvez également utiliser IsBOF et IsEOF case activée pour un jeu d’enregistrements vide.

Pour plus d’informations sur la navigation dans le jeu d’enregistrements, consultez Recordset : Signets et positions absolues (ODBC).

Lorsque le défilement est pris en charge

Comme prévu à l’origine, SQL n’a fourni que le défilement vers l’avant, mais ODBC étend les fonctionnalités de défilement. Le niveau de prise en charge disponible pour le défilement dépend des pilotes ODBC que votre application utilise, du niveau de conformité de l’API ODBC de votre pilote et si la bibliothèque de curseurs ODBC est chargée en mémoire. Pour plus d’informations, consultez ODBC et ODBC : Bibliothèque de curseurs ODBC.

Conseil

Vous pouvez contrôler si la bibliothèque de curseurs est utilisée. Consultez les paramètres bUseCursorLib et dwOptions sur CDatabase ::Open.

Remarque

Contrairement aux classes DAO MFC, les classes ODBC MFC ne fournissent pas d’ensemble de fonctions permettant de Find localiser l’enregistrement suivant (ou précédent) qui répond aux critères spécifiés.

Voir aussi

Recordset (ODBC)
CRecordset ::CanScroll
CRecordset ::CheckRowsetError
Recordset : filtrage d’enregistrements (ODBC)