Partager via


Recordset : tri d'enregistrements (ODBC)

Cette rubrique s’applique aux classes ODBC MFC.

Cette rubrique explique comment trier votre jeu d’enregistrements. Vous pouvez spécifier une ou plusieurs colonnes sur lesquelles baser le tri, et vous pouvez spécifier l’ordre croissant ou décroissant (ASC ou DESC ; ASC est la valeur par défaut) pour chaque colonne spécifiée. Par exemple, si vous spécifiez deux colonnes, les enregistrements sont triés en premier sur la première colonne nommée, puis sur la deuxième colonne nommée. Une clause SQL ORDER BY définit un tri. Lorsque l’infrastructure ajoute la clause ORDER BY à la requête SQL du jeu d’enregistrements, la clause contrôle l’ordre de la sélection.

Vous devez établir l’ordre de tri d’un recordset après avoir construit l’objet, mais avant d’appeler sa Open fonction membre (ou avant d’appeler la Requery fonction membre pour un objet recordset existant dont Open la fonction membre a été appelée précédemment).

Pour spécifier un ordre de tri pour un objet recordset

  1. Construisez un nouvel objet recordset (ou préparez-vous à appeler Requery un objet existant).

  2. Définissez la valeur du membre de données m_strSort de l’objet.

    Le tri est une chaîne terminée par null. Il contient le contenu de la clause ORDER BY, mais pas le mot clé ORDER BY. Par exemple, utilisez :

    recordset.m_strSort = "LastName DESC, FirstName DESC";
    

    not

    recordset.m_strSort = "ORDER BY LastName DESC, FirstName DESC";
    
  3. Définissez toutes les autres options dont vous avez besoin, telles qu’un filtre, un mode de verrouillage ou des paramètres.

  4. Appelez Open le nouvel objet (ou Requery pour un objet existant).

Les enregistrements sélectionnés sont classés comme spécifié. Par exemple, pour trier un ensemble d’enregistrements d’étudiants dans l’ordre décroissant par nom, puis prénom, procédez comme suit :

// Construct the recordset
CStudentSet rsStudent( NULL );
// Set the sort
rsStudent.m_strSort = "LastName DESC, FirstName DESC";
// Run the query with the sort in place
rsStudent.Open( );

Le jeu d’enregistrements contient tous les enregistrements de l’étudiant, triés par ordre décroissant (Z à A), puis par prénom.

Remarque

Si vous choisissez de remplacer la chaîne SQL par défaut du jeu d’enregistrements en passant votre propre chaîne SQL à Open, ne définissez pas de tri si votre chaîne personnalisée a une clause ORDER BY .

Voir aussi

Recordset (ODBC)
Recordset : paramétrage d’un recordset (ODBC)
Recordset : filtrage d’enregistrements (ODBC)