다음을 통해 공유


레코드 집합: 레코드 정렬(ODBC)

이 항목은 MFC ODBC 클래스에 적용됩니다.

이 항목에서는 레코드 집합을 정렬하는 방법에 대해 설명합니다. 정렬의 기준으로 사용할 하나 이상의 열을 지정하고 지정한 각 열에 대해 오름차순 또는 내림차순(ASC 또는 DESC, 기본값은 ASC)을 지정할 수 있습니다. 예를 들어, 열을 두 개 지정하는 경우 레코드는 명명된 첫째 열에서 먼저 정렬된 다음 명명된 둘째 열에서 정렬됩니다. SQL ORDER BY 절은 정렬을 정의합니다. 프레임워크가 레코드 집합의 SQL 쿼리에 ORDER BY 절을 추가하면 이 절은 선택된 열을 정렬하는 기준을 제공합니다.

개체를 생성한 후 Open 멤버 함수를 호출하기 전 또는 Open 멤버 함수가 호출된 기존 레코드 집합 개체에 대해 Requery 멤버 함수를 호출하기 전에 레코드 집합 정렬 순서를 설정해야 합니다.

레코드 집합 개체에 대한 정렬 순서를 지정하려면

  1. 새 레코드 집합 개체를 생성하거나 기존 개체에 대한 Requery 호출을 준비합니다.

  2. 해당 개체의 m_strSort 데이터 멤버 값을 설정합니다.

    정렬은 null로 끝나는 문자열입니다. 정렬은 ORDER BY 절의 내용은 포함하지만 키워드 ORDER BY는 포함하지 않습니다. 예를 들어 다음과 같이 사용할 수 있습니다.

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

    not

    recordset.m_strSort = "ORDER BY LastName DESC, FirstName DESC";
    
  3. 필터, 잠금 모드, 매개 변수 등 필요한 다른 옵션을 설정합니다.

  4. 새 개체에 대해 Open을 호출하거나 기존 개체에 대해 Requery를 호출합니다.

지정한 대로 선택된 레코드가 정렬됩니다. 예를 들어 학생 레코드 집합을 먼저 성을 기준으로, 다음은 이름을 기준으로 내림차순으로 정렬하려면 다음과 같이 작성합니다.

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

레코드 집합에는 먼저 성을 기준으로, 다음은 이름을 기준으로 내림차순(Z에서 A까지)으로 정렬된 모든 학생 레코드가 포함됩니다.

참고

SQL 문자열을 Open에 전달하여 레코드 집합의 기본 SQL 문자열을 재정의할 경우 사용자 지정 문자열에 ORDER BY 절이 있으면 정렬을 설정하지 않아야 합니다.

참고 항목

개념

레코드 집합(ODBC)

레코드 집합: 레코드 집합 매개 변수화(ODBC)

레코드 집합: 레코드 필터링(ODBC)