FireDAC.Comp.DataSet.TFDDataSet.CreateExpression

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

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;

評価モジュールは、参照カウント インターフェイスです。明示的に解放する必要はありません。データセットを閉じる前に、評価モジュールへの参照がすべて解放されている必要があります。

これらの式には、集計関数(SUMCOUNT など)を含むことはできません。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;

関連項目