Méthode SqlCeDataReader.GetSchemaTable

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

Espace de noms :  System.Data.SqlServerCe
Assembly :  System.Data.SqlServerCe (en System.Data.SqlServerCe.dll)

Syntaxe

'Déclaration
Public Overrides Function GetSchemaTable As DataTable
'Utilisation
Dim instance As SqlCeDataReader
Dim returnValue As DataTable

returnValue = instance.GetSchemaTable()
public override DataTable GetSchemaTable()
public:
virtual DataTable^ GetSchemaTable() override
abstract GetSchemaTable : unit -> DataTable 
override GetSchemaTable : unit -> DataTable 
public override function GetSchemaTable() : DataTable

Valeur de retour

Type : System.Data.DataTable
DataTable qui décrit les métadonnées de colonne.

Implémente

IDataReader.GetSchemaTable()

Exceptions

Exception Condition
InvalidOperationException

L'opération n'est pas valide. Le SqlCeDataReader peut être placé après la dernière ligne dans le jeu de résultats.

Notes

Si SqlCeDataReader lit des colonnes à partir de plusieurs tables de base, SqlCeDataReader ne remplit pas la table de schéma avec des valeurs IsKey. Ce comportement ressemble à ce qui se produit lorsque vous avez une requête SELECT :

SELECT FirstName, LastName, 1+2 FROM Employees  

La requête lit des colonnes à partir de deux tables différentes, la table Employees de la base de données Northwind et la table temporaire créée pour 1+2.

La méthode GetSchemaTable correspond à la méthode OLE DB IColumnsRowset::GetColumnsRowset, et retourne des métadonnées relatives à chaque colonne dans l'ordre suivant :

Schéma Table Colonne

Description

ColumnName

Nom de la colonne. Ce nom peut ne pas être unique. S'il ne peut pas être déterminé, une valeur null est retournée. Ce nom reflète toujours le dernier nom attribué à la colonne dans l'affichage actuel ou dans le texte de commande en cours.

ColumnOrdinal

Numéro de la colonne. Le nombre ordinal commence par zéro. SQL Server Compact ne prend pas en charge les signets.

ColumnSize

Longueur maximale possible pour une valeur de la colonne. Pour les colonnes qui utilisent un type de données de longueur fixe, la longueur maximale correspond à la taille du type de données.

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 d'une valeur null.

NumericScale

Si ProviderType 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.

IsUnique

true : deux lignes de la table de base (la table retournée dans BaseTableName) ne peuvent pas avoir la même valeur dans cette colonne. IsUnique est garanti être true si la colonne constitue une clé en soi ou s'il existe une contrainte de type UNIQUE qui s'applique uniquement à cette colonne. Si false, la colonne peut contenir des valeurs dupliquées dans la table de base. La valeur par défaut de cette colonne est false.

IsKey

Si true, la colonne appartient à un ensemble de colonnes du jeu de lignes qui, une fois combinés, identifient la ligne de manière unique. L'ensemble de colonnes avec IsKey égal à true doit identifier de manière unique une ligne du jeu 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 d'une clé primaire, d'une contrainte unique ou d'un index unique de la table de base. Si false, la colonne n'est pas tenue d'identifier de manière unique la ligne.

BaseColumnName

Nom de la colonne dans le magasin de données. Le nom est une valeur null si le nom de la colonne de base ne peut pas être déterminé ou si la colonne du jeu de lignes est dérivée d'une colonne du magasin de données, mais non identique à celle-ci. La valeur par défaut de cette colonne est une valeur null.

BaseTableName

Nom de la table dans le magasin de données qui contient la colonne. Le nom est une 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.

DataType

Correspond au type .NET Framework de la colonne.

AllowDBNull

Défini si le consommateur ne peut pas affecter de valeur null à la colonne ou si le fournisseur ne parvient pas à déterminer si le consommateur peut, ou non, affecter une valeur null à la colonne. Sinon, non défini. Une colonne peut contenir des valeurs null, même si une valeur null ne peut pas lui être affectée.

ProviderType

Indicateur du type de données de la colonne. Cette colonne ne peut pas contenir de valeur null.

IsAutoIncrement

Si true, la colonne assigne des valeurs aux nouvelles lignes selon des incréments fixes. Si false, la colonne n'assigne pas des valeurs aux nouvelles lignes selon des incréments fixes. La valeur par défaut de cette colonne est false.

IsRowVersion

Définit si la colonne contient un identificateur de ligne persistant dans lequel il est impossible d'écrire et ne possède aucune valeur significative, excepté pour identifier la ligne.

IsLong

Défini si la colonne comporte un objet binaire volumineux (BLOB, Binary Long OBject) comportant des données très volumineuses.

IsReadOnly

Si true, la colonne peut être modifiée. Si false, la colonne ne peut pas être modifiée.

Voir aussi

Référence

SqlCeDataReader Classe

Espace de noms System.Data.SqlServerCe