Obtention de métadonnées

De RAD Studio
Aller à : navigation, rechercher

Remonter à Connexion aux bases de données - Index


Tous les composants connexion de base de données peuvent extraire du serveur de bases de données des listes de métadonnées, bien que le type des métadonnées extraites est variable. Les méthodes qui extraient les métadonnées remplissent une liste de chaînes avec les noms de différentes entités disponibles sur le serveur. Vous pouvez alors utiliser ces informations pour, par exemple, permettre aux utilisateurs de sélectionner une table dynamiquement à l'exécution.

Vous pouvez utiliser un composant TADOConnection pour extraire les métadonnées des tables et procédures stockées disponibles sur le stockage de données ADO. Vous pouvez alors utiliser ces informations pour, par exemple, permettre aux utilisateurs de sélectionner une table ou procédure stockée dynamiquement à l'exécution.

Enumération des tables disponibles

La méthode GetTableNames copie une liste des noms de tables dans un objet liste de chaînes existant. Cela permet, par exemple, de remplir une boîte liste avec des noms de table, grâce à laquelle l'utilisateur pourra choisir la table qu'il souhaite ouvrir. La ligne suivante remplit une boîte liste avec le nom de toutes les tables de la base de données

 MyDBConnection.GetTableNames(ListBox1.Items, False);

GetTableNames possède deux paramètres : la liste de chaînes à remplir avec les noms de table et une valeur booléenne qui indique si la liste doit comprendre les tables système ou les tables ordinaires. Notez que, tous les serveurs n'utilisant pas des tables système pour stocker les métadonnées, la demande de tables système peut aboutir à la génération d'une liste vide.

Remarque :  Pour la plupart des composants connexion de base de données, GetTableNames renvoie la liste de toutes les tables non-système disponibles lorsque le second paramètre a pour valeur False. Dans le cas de TSQLConnection, toutefois, vous contrôlez plus facilement les types ajoutés à la liste lorsque vous ne récupérez pas uniquement les noms de tables système. Lorsque vous utilisez TSQLConnection, les types de noms ajoutés à la liste sont contrôlés par la propriété TableScope. TableScope indique si la liste doit contenir tout ou partie des éléments suivants : tables ordinaires, tables système, synonymes et vues.

Enumération des champs d'une table

La méthode GetFieldNames remplit une liste de chaînes existante avec les noms de tous les champs (colonnes) d'une table spécifiée. GetFieldNames possède deux paramètres, le nom de la table dont vous souhaitez énumérer les champs et une liste de chaînes existante à remplir avec les noms de champ

 MyDBConnection.GetFieldNames('Employee', ListBox1.Items);

Enumération des procédures stockées disponibles

Pour obtenir une liste de toutes les procédures stockées de la base de données, utilisez la méthode GetProcedureNames. Cette méthode accepte un seul paramètre, une liste de chaînes existante à remplir

 MyDBConnection.GetProcedureNames(ListBox1.Items);

Remarque :  GetProcedureNames est uniquement disponible pour TADOConnection et TSQLConnection.

Enumération des index disponibles

Pour obtenir la liste de tous les index d'une table spécifique, utilisez la méthode GetIndexNames. Cette méthode prend en compte deux paramètres, la table dont vous souhaitez connaître les index et une liste de chaînes existante à remplir

 SQLConnection1.GetIndexNames('Employee', ListBox1.Items);

Remarque :  GetIndexNames est uniquement disponible pour TSQLConnection, bien que la plupart des ensembles de type table possèdent une méthode équivalente.

Enumération des paramètres de procédure stockée

Pour obtenir la liste de tous les paramètres d'une procédure stockée spécifique, utilisez la méthode GetProcedureParams. GetProcedureParams remplit un objet TList avec les pointeurs des enregistrements des descriptions de paramètres, dans lequel chaque enregistrement décrit un paramètre d'une procédure stockée spécifiée, notamment ses nom, index, type de paramètre, type de champ, etc.

GetProcedureParams accepte deux paramètres, le nom de la procédure stockée et un objet TList existant

 SQLConnection1.GetProcedureParams('GetInterestRate', List1);

Pour convertir les descriptions de paramètre ajoutées à la liste en l'objet plus courant TParams, appelez la procédure globale LoadParamListItems. GetProcedureParams allouant dynamiquement les différents enregistrements, votre application doit les libérer lorsqu'elle n'a plus besoin des informations. La routine globale FreeProcParams peut effectuer cette opération.

Remarque :  GetProcedureParams est uniquement disponible pour TSQLConnection.

Voir aussi

Exemples