FireDAC.Stan.Option.TFDBottomUpdateOptions.KeyFields

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property KeyFields: String read FKeyFields write SetKeyFields;

C++

__property System::UnicodeString KeyFields = {read=FKeyFields, write=SetKeyFields};

Propriétés

Type Visibilité  Source Unité  Parent
property published
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option TFDBottomUpdateOptions

Description

Spécifie les champs de clé primaire d'un ensemble de données.

Utilisez KeyFields pour spécifier une liste de champs séparés par un point-virgule (';'), qui représentent les clés primaires d'enregistrements d'un ensemble de données. Les noms ne doivent pas comporter d'apostrophes et doivent correspondre aux noms de champs de l'ensemble de résultats. KeyFields doit être spécifié avant la préparation/l'ouverture d'un ensemble de données.

Il est nécessaire de spécifier KeyFields lorsque FireDAC ne peut pas déterminer les champs de clé primaire, dans les cas suivants :

  • fiMeta n'est pas inclus dans Items, par exemple dans un souci d'amélioration des performances.
  • L'application doit modifier un ensemble de résultats obtenu à partir d'une jointure de tables ou d'une table sans clé primaire définie.
  • L'application doit modifier un ensemble de résultats obtenu à partir d'une procédure stockée ou d'une autre construction SQL non SELECT.

La définition de KeyFields retire pfInKey de tous les champs TField.ProviderFlags et inclut pfInKey pour les champs ProviderFlags spécifiés. Sinon, l'application peut utiliser uniquement pfInKey ou TField.ProviderFlags, mais pas les deux simultanément.

Pour créer une condition de recherche d'enregistrement, utilisez les champs suivants :

  • Pour valider une mise à jour d'enregistrement avec UPDATE ... WHERE <condition de recherche d'enregistrement>, si UpdateMode = upWhereKeyOnly ou upWhereChanged.
  • Pour actualiser un enregistrement avec SELECT ... WHERE <condition de recherche d'enregistrement>.

Voir aussi