OleDbDataReader.GetSchemaTable Méthode

Définition

Retourne une DataTable valeur qui décrit les métadonnées de colonne du OleDbDataReader.

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

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

Implémente

Exceptions

La OleDbDataReader fermeture est terminée.

Remarques

La GetSchemaTable méthode est mappée à la méthode OLE DB IColumnsRowset ::GetColumnsRowset et retourne des métadonnées sur 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. Si cela ne peut pas être déterminé, une valeur Null est retournée. Ce nom reflète toujours le changement de nom le plus récent de la colonne dans l’affichage actuel ou le texte de la commande.
ColumnOrdinal DBCOLUMN_NUMBER Ordinal de base zéro de la colonne. Cette colonne ne peut pas contenir de valeur Null.
TailleDeColonne DBCOLUMN_COLUMNSIZE Longueur maximale possible d’une valeur dans 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 de DBTYPE_DECIMAL ou de 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 du point décimal. Sinon, il s’agit d’une valeur Null.
Type de données None Mappe au type .NET 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 de données très longues est spécifique 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 elle ne peut pas être définie sur une valeur Null.
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 identifier la ligne.
IsUnique DBCOLUMN_ISUNIQUE VARIANT_TRUE : aucune ligne de la table de base retournée dans BaseTableName ne peut avoir la même valeur dans cette colonne. IsUnique est garanti ê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 est l’un des ensembles 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. Il n’est pas nécessaire que cet ensemble de colonnes soit un ensemble minimal de colonnes. Cet ensemble de colonnes peut être généré à partir d’une clé primaire de 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 à de 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 colonne de base ne peut pas être déterminé ou si la colonne d’ensemble de lignes est dérivée, mais pas identique à celle d’une colonne dans le magasin de données. La valeur par défaut de cette colonne est une valeur Null.

Note

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 des colonnes de la table de schéma peuvent retourner des données par défaut, null ou incorrectes.

S’applique à

Voir aussi