SqlDataReader.GetSchemaTable Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
Le SqlDataReader est fermé.
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.