FireDAC.Comp.Client.TFDMetaInfoQuery.Indexes

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property Indexes: TFDIndexes read FIndexes write SetIndexes stored IsIS;

C++

__property Indexes;

Propriétés

Type Visibilité  Source Unité  Parent
property published
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDMetaInfoQuery

Description

Liste tous les index client s'appliquant à l'ensemble de données.

FireDAC.Comp.Client.TFDMetaInfoQuery.Indexes hérite de FireDAC.Comp.DataSet.TFDDataSet.Indexes. Tout le contenu en-dessous de cette ligne se réfère à FireDAC.Comp.DataSet.TFDDataSet.Indexes.

Liste tous les index client s'appliquant à l'ensemble de données.

Utilisez Indexes pour définir des vues de données côté client sur les enregistrements de l'ensemble de données. Indexes est une collection d'objets TFDIndex, chacun d'eux définissant facultativement :

Les index individuels ne sont pas seulement les définitions de tri et de filtre. FireDAC maintient une vue cohérente des données de chaque index actif, pendant que l'application récupère ou modifie les données. Cette opération crée une surcharge supplémentaire, mais permet de basculer entre les index sans délai d'attente. 

Pour qu'une vue devienne la vue en cours, définissez sa propriété Selected sur True ou la propriété IndexName de l'ensemble de données sur le nom de la vue.

Remarque : La vue doit avoir sa propriété Active définie sur True pour être maintenue.

L'ensemble de données maintient les vues Indexes lorsque IndexesActive vaut True. Quand une application a besoin d'effectuer des mises à jour groupées sur l'ensemble de données, définissez IndexesActive sur False avant la mise à jour, puis revenez à la valeur d'origine après la mise à jour. Vous pouvez aussi consulter les méthodes BeginBatch et EndBatch

La définition de IndexFieldNames n'ajoute pas un objet TFDIndex à la collection Indexes. La définition de IndexDefs avant l'ouverture de l'ensemble de données efface Indexes et remplit les index avec les informations IndexDefs. Ainsi, il existe deux façons de procéder : utilisez IndexDefs ou Indexes. Nous vous suggérons d'utiliser Indexes, car cette opération est plus flexible. 

Certaines méthodes de navigation, telles que Locate, LocateEx, Lookup, LookupEx, SetRange, utilisent des index pour optimiser leurs opérations. 

Les expressions de tri et de filtre de Indexes supportent la syntaxe étendue des expressions.

Exemple

with FDMemTable1.Indexes.Add do begin
  Name := 'by_name';
  Fields := 'NAME;DT';
  Active := True;
end;
with FDMemTable1.Indexes.Add do begin
  Name := 'by_payments';
  Expression := 'sum(sal + bonus)';
  Filter := 'dep_id is not null;
  Active := True;
end;
FDMemTable1.IndexesActive := True;
FDMemTable1.IndexName := 'by_name';

Voir aussi

Exemples