Définition de contraintes pour les valeurs des données

De RAD Studio
Aller à : navigation, rechercher

Remonter à Manipulation des données avec un ensemble de données client


Les ensembles de données client peuvent imposer des contraintes aux modifications qu'un utilisateur peut effectuer sur les données. Ces contraintes sont appliquées lorsque l'utilisateur essaie de valider des changements dans le journal de modifications. Vous pouvez toujours fournir des contraintes personnalisées. Elles vous permettent d'imposer vos propres limites, définies par l'application, sur les valeurs qu'un utilisateur peut valider dans un ensemble de données client.

De plus, lorsque des ensembles de données client représentent des données d'un serveur accédé en utilisant le BDE, elles imposent également les contraintes sur les données importées du serveur de base de données. Si l'ensemble de données client fonctionne avec un composant fournisseur externe, le fournisseur peut contrôler si ces contraintes sont envoyées à l'ensemble de données client, et l'ensemble de données client peut contrôler s'il les utilise. Pour savoir comment le fournisseur contrôle si les contraintes sont incluses dans les paquets de données, voir Gestion des contraintes du serveur. Pour savoir comment et pourquoi l'ensemble de données client peut désactiver l'application des contraintes du serveur, voir Gestion des contraintes liées au serveur.

Spécification de contraintes personnalisées

Vous pouvez utiliser les propriétés des composants champ de l'ensemble de données client pour imposer vos propres contraintes quant aux données que l'utilisateur peut saisir. Chaque composant champ possède deux propriétés qui peuvent être utilisées pour spécifier des contraintes :

  • La propriété DefaultExpression définit une valeur par défaut qui est attribuée au champ si l'utilisateur n'en saisit pas une. Remarquez que si le serveur de base de données ou l'ensemble de données source attribue aussi une expression par défaut au champ, celle de l'ensemble de données client est prioritaire car elle est attribuée avant que la mise à jour ne soit appliquée en retour sur le serveur de base de données ou dans l'ensemble de données source.
  • La propriété CustomConstraint vous permet d'imposer une condition à remplir pour qu'une valeur de champ puisse être validée. Les contraintes personnalisées définies de cette façon sont appliquées en plus des contraintes importées du serveur. Pour plus d'informations sur la manipulation des contraintes personnalisées sur les composants champ, voir Création d'une contrainte personnalisée.

Au niveau de l'enregistrement, vous pouvez spécifier des contraintes à l'aide de la propriété Constraints de l'ensemble de données client. Constraints est une collection d'objets Data.DB.TCheckConstraint, dans laquelle chacun d'eux représente une condition. Utilisez la propriété CustomConstraint d'un objet TCheckConstraint pour ajouter vos propres contraintes, qui sont vérifiées lorsque vous validez les enregistrements.

Voir aussi