Représentation des enregistrements d'une table

De RAD Studio
Aller à : navigation, rechercher

Remonter à Spécification des données à afficher


Quand vous voulez représenter tous les champs et tous les enregistrements d'une seule table de la base de données sous-jacente, vous pouvez utiliser soit TSQLDataSet, soit TSQLTable pour générer la requête SQL à votre place.

Remarque :  Si les performances du serveur entrent en compte, vous préférerez composer explicitement la requête et non vous reposer sur la génération automatique. Les requêtes générées automatiquement utilisent des caractères génériques au lieu d'énumérer explicitement tous les champs de la table. Cela peut entraîner une légère baisse de performance sur le serveur. Le caractère générique (*) des requêtes générées automatiquement est plus robuste lors des modifications de champs sur le serveur.

Représentation d'une table en utilisant TSQLDataSet

Pour que TSQLDataSet génère une requête qui lise tous les champs et tous les enregistrements d'une seule table de base de données, définissez la propriété CommandType par ctTable.

Quand CommandType vaut ctTable, TSQLDataSet génère une requête en se basant sur les valeurs de deux propriétés :

  • CommandText spécifie le nom de la table de base de données que doit représenter l'objet TSQLDataSet.
  • SortFieldNames énumère les noms des champs à utiliser pour trier les données, dans l'ordre de leur prépondérance.

Par exemple, si vous spécifiez ceci :



 SQLDataSet1.CommandType := ctTable;
 SQLDataSet1.CommandText := 'Employee';
 SQLDataSet1.SortFieldNames := 'HireDate,Salary'



 SQLDataSet1->CommandType = ctTable;
 SQLDataSet1->CommandText = "Employee";
 SQLDataSet1->SortFieldNames = "HireDate,Salary"



TSQLDataSet génère la requête suivante, qui présente tous les enregistrements de la table Employee, triés par date d'embauche (HireDate) et, pour une même date d'embauche, par salaire (Salary) :

select * from Employee order by HireDate, Salary

Représentation d'une table en utilisant TSQLTable

Si vous utilisez TSQLTable, spécifiez la table que vous voulez par le biais de la propriété TableName.

Pour spécifier l'ordre des champs dans l'ensemble de données, vous devez spécifier un index. Pour ce faire, vous pouvez procéder de deux façons :

  • Définissez la propriété IndexName par le nom d'un index défini sur le serveur qui impose l'ordre que vous souhaitez.
  • Définissez la propriété IndexFieldNames par la liste, délimitée par des points virgules, des noms des champs sur lesquels trier. IndexFieldNames fonctionne comme la propriété SortFieldNames de TSQLDataSet, sauf qu'elle utilise comme délimiteur le point virgule au lieu de la virgule.

Voir aussi