Share via


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

  1. Erstellen Eines neuen Recordsetobjekts (oder Vorbereiten des Aufrufs Requery für ein vorhandenes Objekt).

  2. 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";
    
  3. Legen Sie alle anderen benötigten Optionen fest, z. B. einen Filter, einen Sperrmodus oder Parameter.

  4. Aufrufen Open des neuen Objekts (oder Requery 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)