次の方法で共有


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

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

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

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

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

Important

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

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

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

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

このセクションにて