OleDbDataReader.GetSchemaTable Méthode

Définition

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

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

Retours

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

Implémente

Exceptions

Remarques

La GetSchemaTable méthode mappe à la méthode OLE DB IColumnsRowset ::GetColumnsRowset et retourne les métadonnées relatives à chaque colonne dans l’ordre suivant :

Colonne DataReader ID de colonne OLE DB Description
ColumnName DBCOLUMN_NAME 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 DBCOLUMN_NUMBER Numéro en base zéro de la colonne. Cette colonne ne peut pas contenir de valeur Null.
ColumnSize DBCOLUMN_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.
NumericPrecision DBCOLUMN_PRECISION Si DbType est un type de données numérique, il s’agit de la précision maximale de la colonne. La précision des colonnes avec un type de données DBTYPE_DECIMAL ou DBTYPE_NUMERIC dépend de la définition de la colonne. Si DbType n’est pas un type de données numérique, il s’agit d’une valeur null.
NumericScale DBCOLUMN_SCALE Si DbType est DBTYPE_DECIMAL ou DBTYPE_NUMERIC, il s’agit du nombre de chiffres à droite de la virgule décimale. Sinon, il s’agit d’une valeur null.
DataType Aucun Mappe au type .NET Framework de la colonne.
ProviderType DBCOLUMN_TYPE Indicateur du type de données de la colonne. Si le type de données de la colonne varie d’une ligne à l’autre, cela doit être DBTYPE_VARIANT. Cette colonne ne peut pas contenir de valeur Null.
IsLong DBCOLUMNFLAGS_ISLONG Le fournisseur définit DBCOLUMNFLAGS_ISLONG si 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. Le paramètre de cet indicateur correspond à la valeur de la colonne IS_LONG dans l’ensemble de lignes PROVIDER_TYPES pour le type de données.
AllowDBNull DBCOLUMNFLAGS_ISNULLABLE Le fournisseur définit DBCOLUMNFLAGS_ISNULLABLE 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. Une colonne peut contenir des valeurs Null, même si une valeur Null ne peut pas lui être affectée.
IsReadOnly DBCOLUMNFLAGS_WRITE true si la colonne ne peut pas être modifiée ; sinon false. La colonne est supposée être accessible en écriture si le fournisseur a défini l’indicateur DBCOLUMNFLAGS_WRITE ou DBCOLUMNFLAGS_WRITEUNKNOWN.
IsRowVersion DBCOLUMNFLAGS_ISROWID Le fournisseur définit DBCOLUMNFLAGS_ISROWID si la colonne contient un identificateur de ligne persistant qui ne peut pas être écrit et n’a aucune valeur significative, sauf pour l’identité de la ligne.
IsUnique DBCOLUMN_ISUNIQUE VARIANT_TRUE : aucune ligne de la table de base (la table retournée dans BaseTableName) ne peut avoir la même valeur dans cette colonne. IsUnique est garanti pour être VARIANT_TRUE si la colonne représente une clé par elle-même ou s’il existe une contrainte de type UNIQUE qui s’applique uniquement à cette colonne.

VARIANT_FALSE : la colonne peut contenir des valeurs en double dans la table de base. La valeur par défaut de cette colonne est VARIANT_FALSE.
IsKey DBCOLUMN_KEYCOLUMN VARIANT_TRUE : la colonne fait partie d’un ensemble de colonnes de l’ensemble de lignes qui, ensemble, identifient de manière unique la ligne. L’ensemble de colonnes avec IsKey défini sur VARIANT_TRUE doit identifier de manière 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.

VARIANT_FALSE : la colonne n’est pas nécessaire pour identifier de manière unique la ligne.
IsAutoIncrement DBCOLUMN_ISAUTOINCREMENT VARIANT_TRUE : la colonne affecte des valeurs aux nouvelles lignes par incréments fixes.

VARIANT_FALSE : la colonne n’affecte pas de valeurs aux nouvelles lignes par incréments fixes. La valeur par défaut de cette colonne est VARIANT_FALSE.
BaseSchemaName DBCOLUMN_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.
BaseCatalogName DBCOLUMN_BASECATALOGNAME Nom du catalogue dans le magasin de données qui contient la colonne. Valeur 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.
BaseTableName DBCOLUMN_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.
BaseColumnName DBCOLUMN_BASECOLUMNNAME Nom de la colonne dans le magasin de données. Cela 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 la colonne de base ne peut pas être déterminé ou si la colonne de l’ensemble de lignes est dérivée, mais pas identique à, une colonne dans le magasin de données. La valeur par défaut de cette colonne est une valeur 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