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