FireDAC.Comp.Client.TFDCustomCommand.Define
Delphi
function Define(ASchema: TFDDatSManager; ATable: TFDDatSTable = nil;
AMetaInfoMergeMode: TFDPhysMetaInfoMergeMode = mmReset): TFDDatSTable; overload;
function Define(ATable: TFDDatSTable = nil;
AMetaInfoMergeMode: TFDPhysMetaInfoMergeMode = mmReset): TFDDatSTable; overload;
C++
Firedac::Dats::TFDDatSTable* __fastcall Define(Firedac::Dats::TFDDatSManager* ASchema, Firedac::Dats::TFDDatSTable* ATable = (Firedac::Dats::TFDDatSTable*)(0x0), Firedac::Phys::Intf::TFDPhysMetaInfoMergeMode AMetaInfoMergeMode = (Firedac::Phys::Intf::TFDPhysMetaInfoMergeMode)(0x0))/* overload */;
Firedac::Dats::TFDDatSTable* __fastcall Define(Firedac::Dats::TFDDatSTable* ATable = (Firedac::Dats::TFDDatSTable*)(0x0), Firedac::Phys::Intf::TFDPhysMetaInfoMergeMode AMetaInfoMergeMode = (Firedac::Phys::Intf::TFDPhysMetaInfoMergeMode)(0x0))/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomCommand |
説明
DatS テーブルの構造を定義します。
Define メソッドでは、コマンドの現在のカーソル(コマンドが開いている場合)または最初のカーソル(コマンドが閉じている場合)の DatS テーブルの構造を定義します。
このメソッドでは、ATable
パラメータの値が nil の場合には DatS テーブルを新規作成します。
SQL コマンドが SELECT
で fiMeta が FetchOptions.Items に含まれている場合、Define は FROM
句のテーブルの主キー フィールドを要求します。最後に、このメソッドは DatS テーブルの列リストを設定します。
このメソッドは、以下のようにオーバーロード(多重定義)されています。
- 1 つ目のオーバーロード メソッドは、コマンドの複数の結果セット用に DatS マネージャを定義します。
- 2 つ目のオーバーロード メソッドは、コマンドの現在のカーソル用に DatS テーブルの構造を定義します。
例
var
oTab: TFDDatSTable;
....
ADCommand1.Prepare('select * from MyTab');
oTab := ADCommand1.Define;
ADCommand1.Open;
ADCommand1.Fetch(oTab);
ADCommand1.Close;
// Some time later, after the structure of DB table MyTab have changed.
// For example, field was removed.
ADCommand1.Prepare('select * from MyTab');
oTab := ADCommand1.Define(oTab, mmOverride);
ADCommand1.Open;
ADCommand1.Fetch(oTab);
ADCommand1.Close;