Conjunto de registros: Ordenar registros (ODBC)
Actualización: noviembre 2007
Este tema es aplicable a las clases ODBC de MFC.
Este tema explica cómo ordenar un conjunto de registros. Se pueden especificar una o varias columnas en las que basar la ordenación, así como el orden ascendente o descendente (ASC o DESC; ASC es el predeterminado) para cada columna especificada. Por ejemplo, si se especifican dos columnas, los registros se ordenan en primer lugar por la primera columna indicada y después por la segunda. La ordenación se define mediante una cláusula SQL ORDER BY. Cuando el marco de trabajo anexa esta cláusula a la consulta SQL del conjunto de registros, ésta controla la ordenación de la selección.
Se debe establecer un orden para el conjunto de registros después de crear el objeto, pero antes de llamar a su función miembro Open (o antes de llamar a la función miembro Requery de un objeto de conjunto de registros existente a cuya función miembro Open se llamó anteriormente).
Para especificar una ordenación en un objeto de conjunto de registros
Cree un nuevo objeto de conjunto de registros (o prepare la llamada a Requery para un objeto existente).
Establezca el valor del miembro de datos m_strSort del objeto.
El tipo de orden es una cadena terminada en null. Contiene el texto de la cláusula SQL ORDER BY, pero no la palabra clave ORDER BY. Por ejemplo, utilice:
recordset.m_strSort = "LastName DESC, FirstName DESC";
y no
recordset.m_strSort = "ORDER BY LastName DESC, FirstName DESC";
Establezca otras opciones que necesite, como el filtro, el modo de bloqueo o los parámetros.
Llame a Open para el nuevo objeto (o a Requery para un objeto existente).
Los registros seleccionados se ordenan según lo especificado. Por ejemplo, para ordenar una serie de registros de estudiantes en orden descendente por el apellido y después por el 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 estudiantes, ordenados de forma descendente (de la Z a la A), primero por apellido y después por nombre.
Nota: |
---|
Si elige reemplazar la cadena SQL predeterminada del conjunto de registros pasando su propia cadena SQL a Open, no debe establecer un orden si la cadena personalizada contiene una cláusula ORDER BY. |
Vea también
Conceptos
Conjunto de registros: Parametrizar un conjunto de registros (ODBC)