FireDAC.Stan.Option.TFDFetchMode

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

TFDFetchMode = (fmManual, fmOnDemand, fmAll, fmExactRecsMax);

C++

enum DECLSPEC_DENUM TFDFetchMode : unsigned int { fmManual, fmOnDemand, fmAll, fmExactRecsMax };

プロパティ

種類 可視性 ソース ユニット
enum public
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option FireDAC.Stan.Option

説明

結果セット レコードが FireDAC の内部データ ストレージ内にどう取得されるかを指定します。


名前 説明
fmManual

レコードは FireDAC で自動的に取得されるわけではありません。適切な時点でレコードを取得するコードを、プログラマが以下のメソッドを使って作成する必要があります。

  • TFDDataSet.FetchAll(すべてのレコードを取得する場合)
  • TFDDataSet.GetNextPacket(RowsetSize レコードを格納した次のレコード セット(パケット)を取得する場合)
  • IADPhysCommand.Fetch(すべてのレコードまたは次のレコード セットを取得する場合)
fmOnDemand レコードは、ナビゲーションなどのデータセット メソッドで必要になったときに FireDAC により自動的に取得されます。FireDAC では、要求があるたびに、RowsetSize レコードを格納したレコード セットを 1 つ以上取得します。このモードでは、fmAll モードと同様に、大量の結果セットを大した遅延もなく開くことができます。ただし、すべてのレコードを取得するのにかかる合計時間は fmAll モードの場合より長くなります。たとえば、Microsoft SQL Server ではサーバー側の静的カーソルが使用されます。
fmAll データセットの Open 呼び出しまたは最初の IADPhysCommand.Fetch 呼び出しで、すべての結果セット レコードが FireDAC により自動的に取得されます。大量の結果セットの場合は、少し時間がかかる可能性がありますが、すべてのレコードが FireDAC の内部データ ストレージに格納されるので、データセット内のナビゲーションは高速です。Microsoft SQL Server、MySQL Server、Sybase SQL Anywhere などの多くの DBMS では、次のような状況です。
  • クライアントの結果セット バッファを解放します。そのため、結果セットを返す次のコマンドを実行できます。
  • 取得に関して、最高のパフォーマンスが得られます。たとえば、Microsoft SQL Server では高速順方向専用カーソルが使用されます。

関連項目