レコードセットとデータテーブル

レコードセットは、ホスト データ宣言 (データ型) の単純な行を含む固定サイズ、境界付き、または無制限のテーブルである Automation オブジェクトです。 datatable は、データテーブルで NewRecordset 関数を使用できない点を除き、あらゆる点でレコードセットと同じ .NET オブジェクトです。 レコードセットまたはデータテーブル オブジェクトを作成したら、そのオブジェクトのメソッドを呼び出して、その行にアクセスできます。

レコードセットまたはデータテーブルは、Microsoft Data Access Components (MDAC) バージョン 2.5 の一部であるリモート データ サービス (RDS) によって行セットの上に実装されます。 RDSServer.DataFactory オブジェクトを使用してレコードセットまたはデータテーブルを作成し、ActiveX® Data Objects (ADO) を使用してレコードセットを更新または読み取ることができます。

レコードセットまたはデータテーブルは、表形式データを表示および操作する手段を提供します。 現時点では、レコードセットを入れ子にしたり、配列を含めることはできません。また、ユーザー定義型 (UDT) を含めることはできません。

レコードセットとデータバランスのサポートにより、TI は構造体の配列 (または COBOL 用語ではレコード) と構造体を効果的にサポートできます。 構造体は固定サイズのレコードセットまたはデータテーブルとして表され、行の各列には 1 つのデータ要素が含まれます。 メインフレームプログラミングの問題に対処するために、TI はレコードセットまたはデータテーブルに含まれる行数を参照して、レコードセットとデータテーブルを固定サイズ、有界、または無制限として分類します。

重要

IBM i 分散プログラム呼び出し (DPC) プログラミング・モデルでは、固定サイズのレコードセットとデータテーブルのみがサポートされます。 プログラミング モデルでは、無制限のレコードセットとデータテーブルはサポートされません。また、OCCURS DEPENDING ON 句、または可変サイズのレコードセットとデータテーブルの使用もサポートしていません。

固定サイズ、有界、および無制限の TI レコードセットとデータテーブルの場合、特定のレコードセット内のすべての行のレイアウトは同じであり、TI Project を使用してデザイン時に定義されます。 レコードセットまたはデータテーブルがメインフレームからの出力または戻り値である場合、TI ランタイム環境では RDSServer.DataFactory オブジェクトを使用してレコードセットまたはデータテーブルを作成し、ADO を使用して、メインフレーム プログラムから返されたデータ行をレコードセットまたはデータテーブルに格納します。

このようなレコードセットは、カーソルの種類が adOpenForwardOnly の切断されたレコードセットです。 レコードセットをスキャンするには、 MoveFirstMoveNext を呼び出して行間を移動する必要があります。 レコードセットはインプレースで更新できますが、真のデータ ソース (データを返したメインフレーム プログラムによって操作されたデータ ソース) から切断されているため、更新は元のデータ ソースに反映されません。

NewRecordset は、すべての TI コンポーネントに対して自動的に提供される関数です。 この関数は、TI メソッド呼び出しに渡すことができる切断されたレコードセット オブジェクトを作成するために呼び出されます。 NewRecordset は、TI クライアント アプリケーションの利便性を高める目的で提供されます。TI コンポーネントのメソッドにレコードセットを渡す必要はありません。 関数は、入力または入出力のレコードセット オブジェクトに対してのみ呼び出すことができます。 TI ランタイム環境では、 パラメーターが出力レコードセット オブジェクトである場合に、レコードセット オブジェクトが作成されます。

このセクションの内容