FireDAC.Comp.DataSet.TFDDataSet.CreateExpression

De RAD Studio API Documentation
Aller à : navigation, rechercher

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() );

Propriétés

Type Visibilité  Source Unité  Parent
function public
FireDAC.Comp.DataSet.pas
FireDAC.Comp.DataSet.hpp
FireDAC.Comp.DataSet TFDDataSet

Description

Crée un évaluateur d'expression pour l'ensemble de données.

Utilisez la méthode CreateExpression pour traduire une chaîne contenant une expression en représentation binaire et pour créer un évaluateur d'expression. L'expression peut contenir des noms de champs de cet ensemble de données. Pour créer un évaluateur, l'ensemble de données doit être actif.

Cette méthode renvoie l'évaluateur, qui peut être utilisé plusieurs fois pour évaluer efficacement une expression spécifiée en appelant sa méthode Evaluate. L'évaluateur est associé à l'enregistrement en cours. Lorsque la position change, l'application doit ajuster l'évaluateur :

 oEval.DataSource.Position := FDMemTable1.GetRow;

L'évaluateur est une interface dont les références sont comptées. Il n'est pas nécessaire de le libérer explicitement. Toutes les références à l'évaluateur doivent être libérées avant la fermeture de l'ensemble de données.

Les expressions ne peuvent pas contenir de fonctions d'agrégation, telles que SUM, COUNT. FireDAC supporte la syntaxe étendue des expressions.

Exemple

 
 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;

Voir aussi