Data.DB.TField.AutoGenerateValue

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property AutoGenerateValue: TAutoRefreshFlag read FAutoGenerateValue write FAutoGenerateValue default arNone;

C++

__property TAutoRefreshFlag AutoGenerateValue = {read=FAutoGenerateValue, write=FAutoGenerateValue, default=0};

Propriétés

Type Visibilité  Source Unité  Parent
property published
Data.DB.pas
Data.DB.hpp
Data.DB TField

Description

Indique si les valeurs de champs peuvent être générées par le serveur plutôt que saisies par l'utilisateur.

Utilisez AutoGenerateValue pour indiquer quand les valeurs de champs peuvent être générées par la base de données. Ces champs comprennent les champs autoincrémentés et les champs ayant des valeurs par défaut.

Certains pilotes de base de données ne peuvent pas déterminer quels champs sont susceptibles d'avoir des valeurs fournies automatiquement par le serveur. Cela peut générer des problèmes lorsque des modifications sont transmises. Dans ce cas, les applications peuvent fournir ces informations en définissant la propriété AutoGenerateValue. Utilisez cette propriété pour indiquer si le champ est un champ autoincrémenté (arAutoInc), un champ ayant une valeur par défaut (arDefault) ou un champ dont la valeur n'est pas générée automatiquement (arNone).

AutoGenerateValue n'est pas toujours nécessaire. Les champs ayant une propriété AutoGenerateValue à arNone peuvent encore être actualisés si le pilote fournit les métadonnées indiquant qu'il a une valeur par défaut ou une valeur autoincrémentée. Néanmoins, il est conseillé de fournir ces informations car tous les pilotes ne fournissent pas cette métadonnée.

Si vous utilisez AutoGenerateValue pour des champs ayant des valeurs générées par la base de données, vous devez affecter la valeur arAutoInc ou arDefault à AutoGenerateValue pour chaque champ dont la valeur est automatiquement générée par la base de données. Cela parce que, lorsque les enregistrements sont transmis, l'application exécute immédiatement une requête pour récupérer les valeurs générées automatiquement. Si vous quittez un champ généré automatiquement alors que AutoGenerateValue a la valeur arNone, cette requête recherche un enregistrement avec une valeur vide dans ce champ, ce qui fera échouer la localisation de l'enregistrement correct.

Avertissement :  AutoGenerateValue peut échouer dans certains cas lorsque la valeur de champ généré automatiquement se trouve sur un champ clé. Cela parce que la requête qui récupère la nouvelle valeur de champ ne peut pas systématiquement localiser l'enregistrement qui vient d'être transmis.

Remarque :  La tentative de modification de la propriété AutoGenerateValue, quand l'ensemble de données du champ est ouvert, génère une exception. AutoGenerateValue ne fonctionne donc qu'avec des composants champ persistant, qui demeurent lorsque l'ensemble de données est fermé.

Voir aussi