Freigeben über


Recordsets und Datentabellen

Ein Recordset ist ein Automation-Objekt, bei dem es sich um eine Tabelle mit fester Größe, gebunden oder ungebunden handelt, die einfache Zeilen von Hostdatendeklarationen (Datentypen) enthält. Eine Datatable ist ein .NET-Objekt, das in jeder Hinsicht mit einem Recordset identisch ist, mit der Ausnahme, dass Sie die NewRecordset-Funktion nicht mit Datatables verwenden können. Nachdem Sie über ein Recordset- oder datatable-Objekt verfügen, können Sie Methoden für dieses Objekt aufrufen, um Zugriff auf seine Zeilen zu erhalten.

Ein Recordset oder eine Datentabelle wird in Zeilensätzen von Remote Data Service (RDS) implementiert, die Teil von Microsoft Data Access Components (MDAC) Version 2.5 ist. Sie können das RDSServer.DataFactory-Objekt verwenden, um ein Recordset oder eine Datatable zu erstellen und ActiveX® Data Objects (ADO) zum Aktualisieren oder Lesen des Recordsets zu verwenden.

Ein Recordset oder eine Datentabelle bietet eine Möglichkeit, tabellarische Daten darzustellen und zu bearbeiten. Recordsets können derzeit nicht geschachtelt werden, keine Arrays und keine benutzerdefinierten Typen (UDTs) enthalten.

Die Unterstützung für Recordsets und Datenbales ermöglicht es TI, ein Array einer Struktur (oder eines Datensatzes in der COBOL-Terminologie) sowie eine Struktur zu unterstützen. Eine Struktur wird als Recordset oder Datatable mit fester Größe dargestellt, wobei jede Spalte in der Zeile ein einzelnes Datenelement enthält. Um Probleme mit der Mainframeprogrammierung zu behandeln, klassifiziert TI Recordsets und Datatables als feste Größe, begrenzt oder ungebunden, in Bezug auf die Anzahl der Zeilen, die im Recordset oder der Datatable enthalten sind.

Wichtig

Das IBM i-DPC-Programmiermodell (Distributed Program Calls) unterstützt nur Recordsets und Datatables mit fester Größe. Das Programmiermodell unterstützt weder ungebundene Recordsets und Datatables noch die Verwendung der DOES ABHÄNGIG VON -Klausel oder Recordsets und Datatables mit unterschiedlicher Größe.

Bei TI-Recordsets und -Datentabellen mit fester Größe, begrenzten und ungebundenen TI-Recordsets ist das Layout aller Zeilen in einem bestimmten Recordset identisch und wird zur Entwurfszeit mithilfe von TI Project definiert. Wenn ein Recordset oder eine Datentabelle ein Ausgabe- oder Rückgabewert aus dem Mainframe ist, verwendet die TI-Laufzeitumgebung das RDSServer.DataFactory-Objekt , um ein Recordset oder eine Datentabelle und ADO zu erstellen, um das Recordset oder die Datentabelle mit den Datenzeilen zu füllen, die aus dem Mainframeprogramm zurückgegeben werden.

Ein solches Recordset ist ein getrenntes Recordset mit dem Cursortyp adOpenForwardOnly. Zum Scannen des Recordsets müssen MoveFirst und MoveNext aufgerufen werden, um die Zeilen zu durchlaufen. Das Recordset kann an Ort und Stelle aktualisiert werden, aber da es von der wahren Datenquelle getrennt ist (die Datenquelle, die vom Mainframeprogramm bearbeitet wurde, das die Daten zurückgegeben hat), werden die Updates nicht an die ursprüngliche Datenquelle weitergegeben.

NewRecordset ist eine Funktion, die automatisch für alle TI-Komponenten bereitgestellt wird. Diese Funktion wird aufgerufen, um ein getrenntes Recordsetobjekt zu erstellen, das an einen TI-Methodenaufruf übergeben werden kann. NewRecordset wird als Komfort für TI-Clientanwendungen bereitgestellt. Es ist nicht erforderlich, ein Recordset an die Methoden einer TI-Komponente zu übergeben. Die Funktion kann nur für Ein- oder Eingabe-/Ausgabe-Recordset-Objekte aufgerufen werden. Die TI-Laufzeitumgebung erstellt ein Recordsetobjekt, wenn der Parameter ein Ausgabe recordset-Objekt ist.

In diesem Abschnitt