Sada záznamů: Řazení záznamů (ODBC)
Toto téma platí pro třídy knihovny MFC rozhraní ODBC.
Toto téma vysvětluje, jak řadit Vaší sadu záznamů. Můžete určit jeden nebo více sloupců, na jejichž základě řadíte a můžete určit vzestupné nebo sestupné pořadí (ASC nebo DESC; ASC je výchozí) pro každý zadaný sloupec. Například pokud určíte dva sloupce, záznamy jsou seřazeny nejprve podle prvního uvedeného sloupce a pak podle druhého uvedeného sloupce. SQL klauzule ORDER BY definuje řazení. Když architektura nalezne klauzuli ORDER BY v SQL dotazu sady záznamů, klauzule upraví vybrané pořadí.
Musíte vytvořit filtr pořadí řazení sady záznamů poté, co vytvoříte objekt, ale předtím zavoláte jeho členskou funkci Open (nebo než zavoláte členskou funkci Requery pro existující objekt sady záznamů, jehož členská funkce Open byla voláná dříve).
Chcete-li určit pořadí řazení pro objekt sady záznamů
Vytvořte nový objekt sady záznamů (nebo připravte volání Requery pro stávající).
Nastavte hodnotu datového členu objektu m_strSort.
Řazení je řetězec zakončený hodnotou NULL. To zahrnuje obsah klauzule ORDER BY, ale nikoli klíčové slovo ORDER BY. Například použijte:
recordset.m_strSort = "LastName DESC, FirstName DESC";
ne
recordset.m_strSort = "ORDER BY LastName DESC, FirstName DESC";
Nastavte další libovolné možnosti, které potřebujete, například filtr, režim uzamčení nebo parametry.
Zavolejte Open pro nový objekt (nebo Requery pro stávající objekt).
Vybrané záznamy jsou řazeny podle zadání. Chcete-li například řadit sadu záznamů studentů v sestupném pořadí podle příjmení, a poté podle křestního jména, provede následující:
// 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( );
Sada záznamů obsahuje všechny záznamy studentů, seřazeny v sestupném pořadí (Z až A) podle příjmení a poté podle křestního jména
Poznámka
Rozhodnete-li se přepsat výchozí řetězec SQL sady záznamů tím, že předáte váš vlastní SQL řetězec do Open, neměli byste nastavovat řazení, pokud má váš vlastní řetězec klauzuli ORDER BY.