OleDbDataReader.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 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
Le OleDbDataReader est fermé.
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.