次の方法で共有


レコードとストリーム

ADO は現在、リレーショナル データベースなどのデータ ソース内の情報にアクセスするための主要な手段として、Recordset オブジェクトを提供しています。 ただし、一部のプロバイダーは、RecordStream オブジェクトを、プロバイダーからのデータを操作できる代替オブジェクトまたは補完オブジェクトとしてサポートしています。 レコードの 動作の詳細については、プロバイダーのドキュメントを参照してください。

記録

レコード オブジェクトは、基本的に1行のレコードセットとして機能します。 ただし、レコード は、Recordset と比較して機能が制限されており、プロパティとメソッドが異なります。Record オブジェクト内のデータのソースには、プロバイダーから 1 行のデータを返すコマンドを指定できます。 Recordset オブジェクト ではなく、Record オブジェクトを使用して、1 行のデータを返すクエリから結果を受け取ります。これにより、より複雑な Recordset オブジェクトをインスタンス化するオーバーヘッドがなくなります。

レコード オブジェクトは、特に従来のリレーショナル データベース以外のデータ ソースのプロバイダー (Microsoft OLE DB Provider for Internet Publishingなど) を使用して、別の目的を果たすことができます。 処理する必要がある情報の多くは、データベース内のテーブルとしてではなく、最新のファイル システムの電子メール システムやファイルのメッセージとして存在します。 Record オブジェクトと Stream オブジェクトは、リレーショナル データベース以外のソースに格納されている情報へのアクセスを容易にします。

Record オブジェクトは、ファイル システム内のディレクトリやファイル、電子メール システム内のフォルダー、メッセージなどのデータを表し、管理できます。 このような場合、Record のソースには、開いている Recordsetの現在の行、絶対 URL、または開いている Connection オブジェクトと組み合わせた相対 URL を指定できます。

通常、Recordset は、フォルダーやディレクトリなどの階層内のコンテナーまたは親を表すために使用できます。 Record を使用すると、ファイルやドキュメントなど、親コンテナー内の 1 つのノードに関する特定の情報を返すことができます。 レコード この種の情報を表すために使用される主な理由は、これらのデータ ソースが異種であるためです。 つまり、各 レコード には、異なるセットとフィールドの数が含まれる場合があります。 データベースの行を含む従来の レコードセット は同種です。つまり、各行のフィールドの数と種類は同じです。

Record オブジェクトを使用して、インターネット公開プロバイダーなどのプロバイダーからこの異種データを処理する方法の詳細については、「インターネット公開での ADO の使用」を参照してください。

ストリーム

Stream オブジェクトは、バイト ストリームの読み取り、書き込み、および管理を行う手段を提供します。 このバイト ストリームはテキストまたはバイナリの場合があり、システム リソースによってのみサイズが制限されます。 通常、ADO Stream オブジェクトは、次の目的で使用されます。

  • Recordset のデータを格納するには、XML 形式で保存。 保存された レコードセットの XML ストリームは、新しい レコードセットを開くときのソースとして使用できます。 詳細については、「ストリームと永続化の」を参照してください。

  • プロバイダーに対して実行される CommandStreamsCommandTextの代わりに含めること。 たとえば、MICROSOFT OLE DB Provider for SQL Server に対するコマンドのソースとして XML UpdateGram を使用できます。

  • Microsoft OLE DB Provider for SQL Server からの XML 結果など、Recordset以外の形式でプロバイダーから結果を受信する場合。 詳細については、「ストリームへの結果セットの取得」を参照してください。

  • ファイルまたはメッセージを構成するテキストまたはバイトを格納するには、通常、Microsoft OLE DB Provider for Internet Publishing などのプロバイダーで使用されます。 Stream オブジェクトのこの使用方法の詳細については、「インターネット発行での ADO の使用」を参照してください。

Stream オブジェクトは、次の場合に開くことができます。

  • URL で指定された単純なファイル。

  • Stream オブジェクトを含む Record または Recordset のフィールド。

  • ディレクトリまたは複合ファイルを表す Record または Recordset オブジェクトの既定のストリーム。

  • 単純なファイルの URL を含むリソース フィールド。

  • 特定のソースはありません。 この場合、Stream オブジェクトがメモリ内で開かれます。 データを書き込み、別の Stream またはファイルに保存できます。

  • Recordset内の BLOB フィールド。

このセクションには、次のトピックが含まれています。