Набор записей. Сортировка записей (ODBC)

Данный раздел относится к классам ODBC библиотеки MFC.

В данном разделе описано, как проводить сортировку набора записей.Можно указать один или несколько столбцов, которые будут основой для сортировки, а также можно задать порядок возрастания или убывания сортировки (значение ASC или DESC; ASC — значение по умолчанию) для каждого выбранного столбца.Например, если выбрать два столбца, записи сортируются в первом указанном столбце, а затем во втором столбце.Предложение SQL ORDER BY задает сортировку.Если платформа добавляет предложение ORDER BY в SQL-запрос набора записей, то оно управляет порядком выборки.

Необходимо задать порядок сортировки набора записей после конструирования объекта, но перед вызовом его функции-члена Open (или перед вызовом функции-члена Requery существующего объекта набора записей, чья функция-член Open вызывалась перед этим).

Чтобы выбрать порядок сортировки для объекта набора записей, выполните следующие действия.

  1. Сконструируйте новый объект набора записей (или подготовьте вызов функции-члена Requery существующего объекта).

  2. Задайте значение элемента данных m_strSort объекта.

    Строка сортировки — это строка с завершающим нулем.Она содержит предложение 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, передав свою строку SQL функции Open, не следует задавать сортировку, если в пользовательской строке содержится предложение ORDER BY.

См. также

Основные понятия

Набор записей (ODBC)

Набор записей. Параметризация набора записей (ODBC)

Набор записей. Фильтрация записей (ODBC)