Data.SqlExpr.TCustomSQLDataSet.SetSchemaInfo

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure SetSchemaInfo(SchemaType: TSchemaType; SchemaObjectName, SchemaPattern: string; PackageName: string = '' );

C++

void __fastcall SetSchemaInfo(TSchemaType SchemaType, System::UnicodeString SchemaObjectName, System::UnicodeString SchemaPattern, System::UnicodeString PackageName = System::UnicodeString());

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
Data.SqlExpr.pas
Data.SqlExpr.hpp
Data.SqlExpr TCustomSQLDataSet

Description

Indique si l'ensemble de données représente des métadonnées du serveur, et dans ce cas quel type.

Appelez SetSchemaInfo pour indiquer si l'ensemble de données SQL représente les résultats d'une commande SQL (spécifiée par CommandText) ou bien une table des informations de schéma (métadonnées).

Le paramètre SchemaType identifie le type des informations voulues. Il peut prendre l'une des valeurs suivantes :



Valeur Description

stNoSchema

Pas d'informations de schéma. L'ensemble de données SQL est rempli avec les résultats de sa requête ou procédure stockée, plutôt que par les métadonnées du serveur.

stTables

Les informations à propos de toutes les tables de données sur le serveur de base de données qui correspondent aux critères spécifiés par la propriété TableScope de la connexion SQL.

stSysTables

Les informations à propos de toutes les tables système sur le serveur de base de données. Tous les serveurs n'utilisent pas des tables système pour stocker des métadonnées. La demande d'une liste de tables système d'un serveur qui ne les utilise pas résulte en un ensemble de données vide.

stProcedures

Les informations à propos de toutes les procédures stockées sur le serveur de base de données.

stColumns

Les informations à propos de toutes les colonnes (champs) d'une table spécifiée.

stProcedureParams

Les informations à propos de tous les paramètres d'une procédure stockée spécifiée.

stIndexes

Les informations à propos de tous les index définis pour une table spécifiée.



SchemaObjectName est le nom de la table ou de la procédure stockée dont vous voulez des informations sur les colonnes, les index ou les paramètres. Quand SchemaType est à stColumns ou stIndexes, SchemaObjectName est le nom d'une table. Quand SchemaType est à stProcedureParams, SchemaObjectName contient le nom d'une procédure stockée. Quand SchemaType est à stNoSchema, stTables, stSysTables ou stProcedures ou stPackages, SchemaObjectName est ignorée.

SchemaPattern est un masque de modèle SQL qui filtre l'ensemble de données résultant. Le nom de chaque élément (table, procédure stockée, champ, paramètre ou index) doit correspondre à ce masque, sinon il n'apparaît pas en tant qu'enregistrement à l'ouverture de l'ensemble de données SQL. SchemaPattern utilise des caractères génériques '%' (pour la correspondance d'une chaîne de caractères arbitraires et de longueur quelconque) et '_' (pour la correspondance d'un caractère arbitraire unique). Pour utiliser un pourcentage ou un souligné dans un modèle pour sa valeur normale, doublez le caractère (%% ou __). Si vous ne voulez pas utiliser un modèle, définissez Pattern à nil (Delphi) ou NULL (C++).

PackageName est le nom d'un package Oracle dans lequel se trouve la procédure stockée lorsque la valeur de SchemaType est stProcedures ou stProcedureParams. Si le serveur n'est pas un serveur Oracle, ou si la procédure stockée n'est pas définie dans un paquet, PackageName doit est une chaîne vide.

Après un appel à SetSchemaInfo, l'ouverture d'un ensemble de données résulte en un ensemble de données rempli par les informations spécifiées. Si SchemaType est à stNoSchema, l'ensemble de données rétablit la commande spécifiée par CommandText.

Remarque :  Lorsque vous modifiez la propriété CommandText, l'ensemble de données rétablit automatiquement un SchemaType de stNoSchema.

Voir aussi