SqlCeDataReader.GetSchemaTable Method
Retourne DataTable qui décrit les métadonnées de la colonne de SqlCeDataReader.
Espace de noms: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (dans system.data.sqlserverce.dll)
Syntaxe
'Déclaration
Public Overrides Function GetSchemaTable As DataTable
public override DataTable GetSchemaTable ()
public:
virtual DataTable^ GetSchemaTable () override
public DataTable GetSchemaTable ()
public override function GetSchemaTable () : DataTable
Valeur de retour
DataTable qui décrit les métadonnées de colonne.
Exceptions
Type d'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. |
Remarques
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 3.5 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. |
Sécurité des threads
Tout membre statique public (Partagé dans Microsoft Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme sûrs.
Plateformes
Plateformes de développement
Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Informations sur la version
.NET Framework et NET Compact Framework
Pris en charge dans 3.5
.NET Framework
Pris en charge dans 3.0
.NET Compact Framework et .Net Framework
Pris en charge dans 2.0
Voir aussi
Référence
SqlCeDataReader Class
SqlCeDataReader Members
System.Data.SqlServerCe Namespace