Ausführung nicht-parametrisierter Befehle
Bei nicht parametrisierten Befehlen werden alle Anbieterbefehle ausgeführt, und die Recordsets werden während der Befehlsausführung erstellt. Wenn der Befehl synchron ausgeführt wird, werden alle Recordsets vollständig ausgefüllt. Wenn ein asynchroner Populationsmodus ausgewählt wurde, hängt der aufgefüllte Zustand der Recordsets vom Populationsmodus und der Größe der Recordsetsab.
Beispielsweise könnte der übergeordneten Befehl ein Recordset- von Kunden für ein Unternehmen aus einer Tabelle "Kunden" zurückgeben, und die untergeordneten ein Recordset- von Bestellungen für alle Kunden aus einer Tabelle "Bestellungen" zurückgeben können.
SHAPE {SELECT * FROM Customers}
APPEND ({SELECT * FROM Orders} AS chapOrders
RELATE customerID TO customerID)
Bei nicht parametrisierten Beziehungen zwischen übergeordneten und untergeordneten Elementen muss jedes übergeordnete und untergeordnete Element Recordset--Objekt eine gemeinsame Spalte aufweisen, damit sie zugeordnet werden können. Die Spalten werden in der RELATE-Klausel benannt, zuerst die übergeordnete Spalte und dann die untergeordnete Spalte. Die Spalten weisen möglicherweise unterschiedliche Namen in ihren jeweiligen Recordset--Objekten auf, müssen jedoch auf die gleichen Informationen verweisen, um eine aussagekräftige Beziehung anzugeben. Beispielsweise könnte das Customers-Objekt und das Orders Recordset-Objekt ein CustomerID-Feld haben. Da die Mitgliedschaft des untergeordneten Recordsets durch den Provider-Befehl bestimmt wird, kann das untergeordnete Recordset verwaiste Zeilen enthalten. Auf diese verwaisten Zeilen kann ohne zusätzliche Umgestaltung nicht zugegriffen werden.
Die Datenstrukturierung fügt eine Kapitelspalte dem übergeordneten -Recordsethinzu. Die Werte in der Kapitelspalte sind Verweise auf Zeilen im untergeordneten -Recordset, die die RELATE-Klausel erfüllen. Das heißt, derselbe Wert befindet sich in der übergeordneten Spalte einer bestimmten übergeordneten Zeile wie in der untergeordneten Spalte aller Zeilen des untergeordneten Kapitels. Wenn mehrere TO-Klauseln in derselben RELATE-Klausel verwendet werden, werden sie implizit mit einem AND-Operator kombiniert. Wenn die übergeordneten Spalten in der RELATE-Klausel keinen Schlüssel für das übergeordnete Recordsetdarstellen, kann eine einzelne untergeordnete Zeile mehrere übergeordnete Zeilen haben.
Wenn Sie in der Kapitelspalte auf den Verweis zugreifen, ruft ADO automatisch das durch den Verweis dargestellte Recordset ab. Beachten Sie, dass bei einem nicht parametrisierten Befehl, obwohl das gesamte untergeordnete Recordset abgerufen wurde, nur eine Teilmenge der Zeilen präsentiert wird.
Wenn die angefügte Spalte keinen Kapitel-Alias hat, wird dafür automatisch ein Name generiert. Ein Field-Objekt für die Spalte wird an die Recordset Fields-Auflistung des Recordset-Objekts angefügt, und der Datentyp wird adChapter-.
Informationen zum Navigieren in einem hierarchischen Recordset-finden Sie unter Zugreifen auf Zeilen in einem hierarchischen Recordset-.
Siehe auch
Datenstrukturierungsbeispiel
Formale Form-Grammatik
Shape-Befehle im allgemeinen