共用方式為


資料錄集:排序資料錄 (ODBC)

本主題適用於 MFC ODBC 類別。

本主題說明如何排序您的記錄集。 您可以指定要依據排序的一或多個資料行,而且您可以指定遞增或遞減順序( ASC DESC ; ASC 是每個指定資料行的預設值。 例如,如果您指定兩個數據行,則記錄會先在名為 的第一個資料行上排序,然後在名為 的第二個數據行上排序。 SQL ORDER BY 子句會定義排序。 當架構將 ORDER BY 子句附加 至記錄集的 SQL 查詢時,子句會控制選取範圍的排序。

在建構物件之後,您必須建立記錄集的排序次序,但在呼叫其 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( );

記錄集包含所有學生記錄,依姓氏依遞減順序排序,然後依名字排序。

注意

如果您選擇將自己的 SQL 字串傳遞至 Open 來覆寫記錄集的預設 SQL 字串,如果您的自訂字串具有 ORDER BY 子句,請勿設定排序。

另請參閱

資料錄集 (ODBC)
資料錄集:參數化資料錄集 (ODBC)
資料錄集:篩選資料錄 (ODBC)