Recordset: Sortieren von Datensätzen (ODBC)
Dieses Thema bezieht sich auf die MFC-ODBC-Klassen.
In diesem Thema wird erläutert, wie Sie das Recordset sortieren. Sie können eine oder mehrere Spalten angeben, auf denen die Sortierung basieren soll, und Sie können aufsteigende oder absteigende Reihenfolge (ASC oder DESC) angeben. ASC ist die Standardeinstellung) für jede angegebene Spalte. Wenn Sie beispielsweise zwei Spalten angeben, werden die Datensätze zuerst in der ersten Spalte mit dem Namen und dann in der zweiten Spalte sortiert. Eine SQL ORDER BY-Klausel definiert eine Sortierung. Wenn das Framework die ORDER BY-Klausel an die SQL-Abfrage des Recordsets anfüge, steuert die Klausel die Reihenfolge der Auswahl.
Sie müssen die Sortierreihenfolge eines Recordsets nach dem Erstellen des Objekts einrichten, aber bevor Sie die Open
Memberfunktion aufrufen (oder bevor Sie die Requery
Memberfunktion für ein vorhandenes Recordsetobjekt aufrufen, dessen Open
Memberfunktion zuvor aufgerufen wurde).
So geben Sie eine Sortierreihenfolge für ein Recordset-Objekt an
Erstellen Eines neuen Recordsetobjekts (oder Vorbereiten des Aufrufs
Requery
für ein vorhandenes Objekt).Legen Sie den Wert des m_strSort Datenelements des Objekts fest.
Die Sortierung ist eine mit Null beendete Zeichenfolge. Sie enthält den Inhalt der ORDER BY-Klausel, aber nicht die Schlüsselwort (keyword) ORDER BY. Verwenden Sie z.B. Folgendes:
recordset.m_strSort = "LastName DESC, FirstName DESC";
not
recordset.m_strSort = "ORDER BY LastName DESC, FirstName DESC";
Legen Sie alle anderen benötigten Optionen fest, z. B. einen Filter, einen Sperrmodus oder Parameter.
Aufrufen
Open
des neuen Objekts (oderRequery
für ein vorhandenes Objekt).
Die ausgewählten Datensätze werden wie angegeben sortiert. Gehen Sie beispielsweise wie folgt vor, um eine Gruppe von Kursteilnehmerdatensätzen in absteigender Reihenfolge nach Nachnamen zu sortieren:
// 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( );
Das Recordset enthält alle Schülerdatensätze, sortiert in absteigender Reihenfolge (Z bis A) nach Nachname und dann nach Vornamen.
Hinweis
Wenn Sie die SQL-Standardzeichenfolge des Recordsets überschreiben möchten, indem Sie ihre eigene SQL-Zeichenfolge Open
übergeben, legen Sie keine Sortierung fest, wenn ihre benutzerdefinierte Zeichenfolge über eine ORDER BY-Klausel verfügt.
Siehe auch
Recordset (ODBC)
Recordset: Parametrisieren eines Recordsets (ODBC)
Recordset: Filtern von Datensätzen (ODBC)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für