Compartilhar via


Conjunto de registros: classificando registros (ODBC)

Este tópico aplica-se às classes ODBC do MFC.

Este tópico explica como classificar seu conjunto de registros. Você pode especificar uma ou mais colunas nas quais basear a classificação e pode especificar a ordem crescente ou decrescente (ASC ou DESC; ASC é o padrão) para cada coluna especificada. Por exemplo, se você especificar duas colunas, os registros serão classificados primeiro na primeira coluna nomeada e, em seguida, na segunda coluna nomeada. Uma cláusula SQL ORDER BY define uma classificação. Quando a estrutura anexa a cláusula ORDER BY à consulta SQL do conjunto de registros, a cláusula controla a ordenação da seleção.

Você deve estabelecer a ordem de classificação de um conjunto de registros depois de construir o objeto, mas antes de chamar sua função de membro Open (ou antes de chamar a função de membro Requery para um objeto de conjunto de registros existente cuja função de membro Open foi chamada anteriormente).

Para especificar uma ordem de classificação para um objeto de conjunto de registros

  1. Construa um novo objeto de conjunto de registros (ou prepare-se para chamar Requery um existente).

  2. Defina o valor do membro de dados m_strSort do objeto.

    A classificação é uma cadeia de caracteres terminada em nulo. Ele contém o conteúdo da cláusula ORDER BY , mas não a palavra-chave ORDER BY. Por exemplo, use:

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

    not

    recordset.m_strSort = "ORDER BY LastName DESC, FirstName DESC";
    
  3. Defina quaisquer outras opções necessárias, como filtro, modo de bloqueio ou parâmetros.

  4. Chame Open para o novo objeto (ou Requery para um objeto existente).

Os registros selecionados são ordenados conforme especificado. Por exemplo, para classificar um conjunto de registros de alunos em ordem decrescente por sobrenome e, em seguida, primeiro nome, faça o seguinte:

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

O conjunto de registros contém todos os registros dos alunos, classificados em ordem decrescente (Z a A) pelo sobrenome e depois pelo primeiro nome.

Observação

Se você optar por substituir a cadeia de caracteres SQL padrão do conjunto de registros passando sua própria string SQL para Open, não defina uma classificação se sua string personalizada tiver uma cláusula ORDER BY.

Confira também

Conjunto de registros (ODBC)
Conjunto de registros: parametrizando um conjunto de registros (ODBC)
Conjunto de registros: filtrando registros (ODBC)