Datasnap.DBClient.TCustomClientDataSet.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
Datasnap.DBClient.pas
Datasnap.DBClient.hpp
Datasnap.DBClient TCustomClientDataSet

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 Variant contenant les valeurs devant correspondre aux champs clés. Si KeyFields énumère un seul champ, KeyValues représente la valeur recherchée pour ce champ. Si KeyFields énumère plusieurs champs, transmettez un tableau de Variant dans le paramètre KeyValues. Dans Delphi, vous pouvez construire un tableau variant à la volée en utilisant la routine VarArrayOf. Par exemple :



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



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



CustTable->Locate("Company;Contact;Phone", VarArrayOf(locvalues, 2), 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, le paramètre KeyValues peut spécifier une chaîne incomplète comme valeur de champ. Par exemple, dans l'instruction précédente, le champ Contact correspond avec tout enregistrement où le champ contact commence par 'P'. Si Options est un ensemble vide ou s'il n'y a pas de champs chaîne dans 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.

Voir aussi