FireDAC.Stan.Option.TFDFetchOptions.Items

提供: Appmethod Libraries
移動先: 案内検索

Object Pascal

property Items: TFDFetchItems read GetItems write SetItems  stored IsIS default [fiBlobs, fiDetails, fiMeta];

C++

__property TFDFetchItems Items = {read=GetItems, write=SetItems, stored=IsIS, default=7};

プロパティ

種類 可視性 ソース ユニット
property published
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option TFDFetchOptions

説明

取得するデータの種類を制御します。


Items プロパティで、取得するデータおよびメタデータの種類を制御します。

オプション

説明

fiBlobs

使用すると、BLOB フィールド値が、他のレコード フィールドと共に取得されます。使用しない場合は、BLOB 値自体を読み取る時点まで、取得は先送りされます。

メモ:fiBlobsItems から除外しても、SQL コマンドの SELECT リストは変更されません。DBMS が BLOB 値を値で受け渡す場合(たとえば Oracle LONG、MySQL、SQL Server、SQLite)、それらの BLOB 値は、ネットワークではなくクライアントに配信されます。ただし、値はクライアントのレコード キャッシュには格納されません。しかし、DBMS が BLOB 値を参照で受け渡す場合(たとえば Oracle CLOB/BLOB、Interbase、Firebird)、それらの BLOB 値は配信も格納もされません。

fiDetails

使用すると、ネストしたカーソル フィールドが、他のレコード フィールドと共に取得されます。使用しない場合は、ネストしたカーソル値自体を読み取る時点まで、取得は先送りされます。

fiMeta

使用すると、コマンド メタデータが取得されます。使用しない場合は、プログラマが自分でメタデータを入力する必要があります。メタデータの種類と取得されるタイミングは、以下のように、コマンドの種類によって異なります。

  • TFDCustomStoredProcCommandKind=ckStoredProc などの場合、メタデータはストアド プロシージャ パラメータの説明です。これは Prepare 呼び出しで取得されます。fiMetaItems に含まれていない場合は、プログラマ自身が、Params それぞれに値を入力する必要があります。
  • TFDCustomQueryCommandKind=ckSelect などの場合、メタデータは、テーブルの主キーを構成するベース テーブル列のセットです。これは、SQL コマンドの更新の自動生成に使用されます。メタデータは Open/Define 呼び出しで取得されます。fiMetaItems に含まれていない場合は、プログラマが、主キー フィールドを指定するため、次のいずれかを行う必要があります。
  • pfInKey を主キー フィールドの ProviderFlags に含める。
  • KeyFields を主キー フィールド名のコロン区切りリストに設定する。
  • 主キー列の TFDDatSColumn.Options に coInKey を含める。

デフォルト値は [fiBlobs,fiDetails,fiMeta] です。意味は、すべてのデータとメタデータは適切な時点に自動的に取得されるということです。

関連項目