Partager via


SqlDataReader.GetSchemaTable Méthode

Définition

Retourne un DataTable qui décrit les métadonnées de colonne de SqlDataReader.

public:
 virtual System::Data::DataTable ^ GetSchemaTable();
public:
 override System::Data::DataTable ^ GetSchemaTable();
public System.Data.DataTable GetSchemaTable ();
public override System.Data.DataTable GetSchemaTable ();
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Function GetSchemaTable () As DataTable
Public Overrides Function GetSchemaTable () As DataTable

Retours

DataTable qui décrit les métadonnées de colonne.

Implémente

Exceptions

Remarques

La GetSchemaTable méthode retourne les métadonnées suivantes sur chaque colonne :

Colonne DataReader Description
AllowDBNull Définissez si le consommateur peut définir la colonne sur une valeur Null ou si le fournisseur ne peut pas déterminer si le consommateur peut définir la colonne sur une valeur Null. Non défini dans les autres cas. Une colonne peut contenir des valeurs Null, même si une valeur Null ne peut pas lui être affectée.
BaseCatalogName Nom du catalogue dans le magasin de données qui contient la colonne. NULL si le nom du catalogue de base ne peut pas être déterminé. La valeur par défaut de cette colonne est une valeur Null.
BaseColumnName Nom de la colonne dans le magasin de données. Il peut être différent du nom de colonne retourné dans la colonne ColumnName si un alias a été utilisé. Valeur Null si le nom de colonne de base ne peut pas être déterminé ou si la colonne d’ensemble de lignes est dérivée, mais non identique, d’une colonne dans le magasin de données. La valeur par défaut de cette colonne est une valeur Null.
BaseSchemaName Nom du schéma dans le magasin de données qui contient la colonne. Valeur Null si le nom du schéma de base ne peut pas être déterminé. La valeur par défaut de cette colonne est une valeur Null.
BaseServerName Nom du instance de Microsoft SQL Server utilisé par .SqlDataReader
BaseTableName Nom de la table ou de la vue dans le magasin de données qui contient la colonne. Valeur Null si le nom de la table de base ne peut pas être déterminé. La valeur par défaut de cette colonne est une valeur Null.
ColumnName Nom de la colonne ; cela peut ne pas être unique. S'il n'est pas possible de déterminer cette valeur, une valeur Null est retournée. Ce nom reflète toujours le dernier nom attribué à la colonne dans l'affichage ou le texte de commande actuels.
ColumnOrdinal Numéro en base zéro de la colonne. Cette colonne ne peut pas contenir de valeur Null.
ColumnSize Longueur maximale possible pour une valeur de la colonne. Pour les colonnes qui utilisent un type de données de longueur fixe, il s’agit de la taille du type de données. Pour nvarchar(MAX)les colonnes , varchar(MAX)et varbinary(MAX) stockées dans une base de données SQL Server, la taille maximale est de 2 Go. Si ces colonnes sont stockées et accessibles en tant que fichiers, la limite de taille maximale est imposée par le système de fichiers. Cette valeur change lors de l’utilisation de la Type System Version mot clé dans le chaîne de connexion. Pour les nouveaux types, ils sont représentés en tant que types de niveau inférieur. Les types de données MAX retournent la normale 4k pour nvarchar et 8000 pour varchar. Pour plus d’informations, consultez la référence Transact-SQL.
DataTypeName Retourne une chaîne représentant le type de données de la colonne spécifiée.
IsAliased true: le nom de colonne est un alias.

false: le nom de colonne n’est pas un alias.
IsAutoIncrement true: la colonne affecte des valeurs aux nouvelles lignes par incréments fixes.

false: la colonne n’affecte pas de valeurs aux nouvelles lignes par incréments fixes. La valeur par défaut de cette colonne est false.
IsColumnSet true: la colonne est une colonne éparse qui est membre d’un jeu de colonnes.
IsExpression true: la colonne est une expression.

false: la colonne n’est pas une expression.
IsHidden true: la colonne est masquée.

false: la colonne n’est pas masquée.
IsIdentity true: la colonne est une colonne d’identité.

false: la colonne n’est pas une colonne d’identité.
IsKey true: la colonne fait partie d’un ensemble de colonnes dans l’ensemble de lignes qui, ensemble, identifient la ligne de manière unique. L'ensemble de colonnes avec IsKey qui a la valeur true doit identifier de façon unique une ligne dans l'ensemble de lignes. Cet ensemble de colonnes ne doit pas obligatoirement être un ensemble minimal de colonnes. Cet ensemble de colonnes peut être généré à partir de la clé primaire d'une table de base, d'une contrainte unique ou d'un index unique.

false: la colonne n’est pas nécessaire pour identifier la ligne de manière unique.
IsLong true: la colonne contient un objet BLOB (Binary Long Object) qui contient des données très longues. La définition des données très volumineuses est propre au fournisseur.

false: la colonne ne contient pas d’objet BLOB (Binary Long Object) qui contient des données très longues.
IsReadOnly true: la colonne ne peut pas être modifiée.

false: la colonne peut être modifiée.
IsRowVersion true: la colonne contient un identificateur de ligne persistant qui ne peut pas être écrit dans et n’a aucune valeur significative, sauf pour identifier la ligne.

false: la colonne ne contient pas d’identificateur de ligne persistant qui ne peut pas être écrit et n’a aucune valeur significative, sauf pour l’identité de la ligne.
IsUnique true: La colonne est de type timestamp.

false: la colonne n’est pas de type timestamp.
NonVersionedProviderType Type de la colonne, quel que soit le courant Type System Version spécifié dans le chaîne de connexion. La valeur retournée provient de l’énumération SqlDbType .
NumericPrecision Si ProviderType est un type de données numérique, il s’agit de la précision maximale de la colonne. La précision dépend de la définition de la colonne. Si ProviderType n’est pas un type de données numérique, il s’agit de 255.
NumericScale Si ProviderType est DBTYPE_DECIMAL ou DBTYPE_NUMERIC, nombre de chiffres à droite de la virgule décimale. Sinon, il s’agit de 255.
ProviderSpecificDataType Retourne le type de données spécifique au fournisseur de la colonne en fonction de la Type System Version mot clé dans le chaîne de connexion.
ProviderType Indicateur du type de données de la colonne. Si le type de données de la colonne varie d’une ligne à l’autre, il doit s’agir d’Un objet. Cette colonne ne peut pas contenir de valeur Null.
UdtAssemblyQualifiedName Si la colonne est un type défini par l’utilisateur (UDT), il s’agit du nom qualifié de l’assembly de l’UDT conformément AssemblyQualifiedNameà . Si la colonne n’est pas un type défini par l’utilisateur, la valeur est null.
XmlSchemaCollectionDatabase Nom de la base de données où se trouve la collection de schémas pour cette instance XML, si la ligne contient des informations sur une colonne XML. Cette valeur est null (Nothing en Visual Basic) si la collection est définie dans la base de données active. Elle est également null s’il n’existe aucune collection de schémas, auquel cas les XmlSchemaCollectionName colonnes et XmlSchemaCollectionOwningSchema sont également null.
XmlSchemaCollectionName Nom de la collection de schémas pour cette instance XML, si la ligne contient des informations sur une colonne XML. Cette valeur est null (Nothing en Visual Basic) si aucune collection de schémas n’est associée. Si la valeur est null, les XmlSchemaCollectionDatabase colonnes et XmlSchemaCollectionOwningSchema sont également null.
XmlSchemaCollectionOwningSchema Schéma relationnel propriétaire où se trouve la collection de schémas pour ce instance XML, si la ligne contient des informations sur une colonne XML. Cette valeur est null (Nothing en Visual Basic) si la collection est définie dans la base de données active. Elle est également null s’il n’existe aucune collection de schémas, auquel cas les XmlSchemaCollectionDatabase colonnes et XmlSchemaCollectionName sont également null.

Notes

Pour vous assurer que les colonnes de métadonnées retournent les informations correctes, vous devez appeler ExecuteReader avec le behavior paramètre défini sur KeyInfo. Sinon, certaines colonnes de la table de schéma peuvent retourner des données par défaut, null ou incorrectes.

S’applique à

Voir aussi