Compartir a través de


Conjunto de registros: Ordenar registros (ODBC)

Este tema es aplicable a las clases ODBC de MFC.

En este tema se explica cómo ordenar el conjunto de registros. Puede especificar una o varias columnas en las que basar la ordenación, y puede especificar el orden ascendente o descendente (ASC o DESC; ASC es el valor predeterminado) para cada columna especificada. Por ejemplo, si especifica dos columnas, los registros se ordenan primero en la primera columna con nombre y, a continuación, en la segunda columna con nombre. Una cláusula ORDER BY de SQL define una ordenación. Cuando el marco anexa la cláusula ORDER BY a la consulta SQL del conjunto de registros, la cláusula controla el orden de la selección.

Debe establecer el criterio de ordenación de conjunto de registros después de construir el objeto, pero antes de llamar a su función miembro Open (o antes de llamar a la función miembro Requery para un objeto de conjunto de registros existente a cuya función miembro Open se haya llamado anteriormente).

Para especificar un criterio de ordenación para un objeto de conjunto de registros

  1. Construya un nuevo objeto de conjunto de registros (o prepárese para llamar a Requery para uno existente).

  2. Establezca el valor del miembro de datos m_strSort del objeto.

    La ordenación es una cadena terminada en null. Contiene el contenido de la cláusula ORDER BY, pero no la palabra clave ORDER BY. Por ejemplo, use:

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

    not

    recordset.m_strSort = "ORDER BY LastName DESC, FirstName DESC";
    
  3. Establezca cualquier otra opción que necesite, como el filtrado, el modo de bloqueo o los parámetros.

  4. Llame al nuevo objeto Open (o Requery para un objeto existente).

Los registros seleccionados se ordenan según se especifica. Por ejemplo, para ordenar un conjunto de registros de alumnos en orden descendente por apellido y, a continuación, nombre, haga lo siguiente:

// 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( );

El conjunto de registros contiene todos los registros de alumnos, ordenados en orden descendente (Z a A) por apellido y, a continuación, por nombre.

Nota:

Si decide invalidar la cadena SQL predeterminada del conjunto de registros pasando su propia cadena SQL a Open, no establezca una ordenación si la cadena personalizada tiene una cláusula ORDER BY.

Consulte también

Conjunto de registros (ODBC)
Conjunto de registros: Parametrizar un conjunto de registros (ODBC)
Conjunto de registros: Filtrar registros (ODBC)