FireDAC.Comp.DataSet.TFDDataSet.CreateExpression
Delphi
function CreateExpression(const AExpr: String;  AOptions: TFDExpressionOptions = []): IFDStanExpressionEvaluator;
C++
Firedac::Stan::Intf::_di_IFDStanExpressionEvaluator __fastcall CreateExpression(const System::UnicodeString AExpr, Firedac::Stan::Intf::TFDExpressionOptions AOptions = Firedac::Stan::Intf::TFDExpressionOptions() );
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 | 
|---|---|---|---|---|
| function | public | FireDAC.Comp.DataSet.pas FireDAC.Comp.DataSet.hpp | FireDAC.Comp.DataSet | TFDDataSet | 
説明
データセットの式評価モジュールを作成します。
CreateExpression メソッドを使用して、式を含む文字列をバイナリ表現に変換し、式評価モジュールを作成します。この式には、現在のデータセットのフィールド名を含むことができます。評価モジュールを作成するには、データセットがアクティブであることが必要です。
このメソッドは、Evaluate メソッドを呼び出すことにより、指定された式を効果的に評価するために、複数回使用できる、評価モジュールを返します。この評価モジュールは現在のレコードに関連付けられます。位置が変更された後は、アプリケーションで評価モジュールを調整する必要があります。
oEval.DataSource.Position := FDMemTable1.GetRow;
評価モジュールは、参照カウント インターフェイスです。明示的に解放する必要はありません。データセットを閉じる前に、評価モジュールへの参照がすべて解放されている必要があります。
これらの式には、集計関数(SUM、COUNT など)を含むことはできません。FireDAC は式の拡張構文をサポートします。
例
 var
   oEval: IFDStanExpressionEvaluator;
 ...
 oEval := FDMemTable1.CreateExpresison('(sal + comm) * tax / 100');
 Label1.Caption := oEval.Evaluate;
 ...
 FDMemTable1.Next;
 oEval.DataSource.Position := FDMemTable1.GetRow;
 Label1.Caption := oEval.Evaluate;
 ...
 oEval := nil;
 FDMemTable1.Close;