資料錄集:排序資料錄 (ODBC)
本主題適用於 MFC ODBC 類別。
本主題說明如何排序您的記錄集。 您可以指定要依據排序的一或多個資料行,而且您可以指定遞增或遞減順序( ASC 或 DESC ; ASC 是每個指定資料行的預設值。 例如,如果您指定兩個數據行,則記錄會先在名為 的第一個資料行上排序,然後在名為 的第二個數據行上排序。 SQL ORDER BY 子句會定義排序。 當架構將 ORDER BY 子句附加 至記錄集的 SQL 查詢時,子句會控制選取範圍的排序。
在建構物件之後,您必須建立記錄集的排序次序,但在呼叫其 Open
成員函式之前(或之前呼叫其成員函式之現有記錄集物件的 Open
成員函式之前 Requery
)。
若要指定記錄集物件的排序次序
建構新的記錄集物件(或準備呼叫
Requery
現有的記錄集物件)。設定物件 m_strSort 資料成員的值。
排序是以 Null 結尾的字串。 它包含 ORDER BY 子句的內容 ,但不包含關鍵字 ORDER BY 。 例如,使用:
recordset.m_strSort = "LastName DESC, FirstName DESC";
not
recordset.m_strSort = "ORDER BY LastName DESC, FirstName DESC";
設定您需要的任何其他選項,例如篩選、鎖定模式或參數。
呼叫
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 子句,請勿設定排序。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應