Bde.DBTables.TBDEDataSet.Locate

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function Locate(const KeyFields: string; const KeyValues: Variant;  Options: TLocateOptions): Boolean; override;

C++

virtual bool __fastcall Locate(const System::UnicodeString KeyFields, const System::Variant &KeyValues, Data::Db::TLocateOptions Options);

Propriétés

Type Visibilité  Source Unité  Parent
function public
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables TBDEDataSet


Description

Recherche un enregistrement particulier dans l'ensemble de données et le choisit comme enregistrement en cours.

Appelez Locate pour rechercher un enregistrement particulier dans un ensemble de données et positionner le curseur dessus.

KeyFields est une chaîne contenant une liste délimitée par des points-virgules des noms de champs à utiliser pour la recherche.

KeyValues est un tableau de variants contenant les valeurs à rechercher dans les champs clé. Si KeyFields ne contient qu'un seul nom de champ, KeyValues spécifie la valeur pour ce champ dans l'enregistrement voulu. Pour spécifier plusieurs valeurs de recherche, transmettez un tableau de variants en tant KeyValues, ou construisez un tableau de variants à la volée en utilisant la routine VarArrayOf. Par exemple :


with CustTable do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);


TLocateOptions Opts;
Opts.Clear();
Opts << loPartialKey;
Variant locvalues[2];
locvalues[0] = Variant("Sight Diver");
locvalues[1] = Variant("P");


CustTable->Locate("Company;Contact", VarArrayOf(locvalues, 1), Opts);


Options est un ensemble qui peut spécifier des caractéristiques de recherche supplémentaires lors d'une recherche dans des champs chaînes. Si Options contient la valeur loCaseInsensitive, Locate ignore la casse lors de la comparaison des champs. Si Options contient la valeur loPartialKey, Locate autorise les recherches partielles sur des chaînes dans KeyValues. Si Options est un ensemble vide ou s'il n'y a pas de champs chaîne dans la propriété KeyFields, Options n'est pas pris en compte.

Locate renvoie true si elle trouve un enregistrement correspondant, et elle le sélectionne comme enregistrement en cours. Sinon, Locate renvoie false.

Locate utilise la méthode la plus rapide possible pour localiser les enregistrements correspondant. Si les champs de recherche dans KeyFields sont indexés et si l'index est compatible avec les options de recherche spécifiées, Locate utilise l'index. Sinon, Locate crée un filtre pour la recherche.

Voir aussi