Limitation des enregistrements avec des paramètres

De RAD Studio
Aller à : navigation, rechercher

Remonter à Transmission de paramètres à l'ensemble de données source

Si l'ensemble de données client est

  • une instance de TClientDataSet dont le fournisseur associé représente un composant TTable ou TSQLTable
  • une instance de TSimpleDataSet' ou 'TBDEClientDataSet dont la propriété CommandType est ctTable

il peut alors utiliser la propriété Params pour limiter les enregistrements mis en mémoire cache. Chaque paramètre représente la valeur d'un champ, cette valeur doit se trouver dans un enregistrement pour que celui-ci soit inclus dans les données de l'ensemble client. Cela fonctionne comme un filtre, sauf qu'avec un filtre, les enregistrements sont encore en mémoire cache mais considérés comme non disponibles.

Le nom de chaque paramètre doit correspondre à un nom de champ. Lorsque vous utilisez TClientDataSet, ce sont les noms des champs du composant TTable ou TSQLTable associé au fournisseur. Lorsque vous utilisez TSimpleDataSet ou TBDEClientDataSet, ce sont les noms des champs de la table sur le serveur de base de données. L'ensemble client ne contient alors que les enregistrements dont les valeurs dans les champs équivalents correspondent à celles des paramètres.

Par exemple, supposons une application qui affiche les commandes d'un seul client. Lorsque l'utilisateur identifie le client, l'ensemble de données client définit sa propriété Params pour inclure un paramètre unique nommé CustID, dont la valeur identifie le client dont les commandes doivent être affichées. Lorsque l'ensemble de données client demande des données à l'ensemble de données source, il transmet cette valeur de paramètre. Le fournisseur n'envoie ensuite que les enregistrements concernant le client identifié. Ceci est beaucoup plus efficace que la solution dans laquelle tous les enregistrements de commande sont envoyés par le fournisseur à l'application client puis filtrés à l'aide de l'ensemble de données client.

Voir aussi