Bonjour,
Savez-vous comment obtenir la description associée à un champ d'une table dans SQL Server 2005 en C# ?
Peut-on utiliser GetOleDbSchemaTable ?
Merci bien !
Version imprimable
Bonjour,
Savez-vous comment obtenir la description associée à un champ d'une table dans SQL Server 2005 en C# ?
Peut-on utiliser GetOleDbSchemaTable ?
Merci bien !
Bonjour
Tout d'abord, il n'y a absolument aucune raison valable d'utiliser les objets OleDb avec Sql Server alors que tu as un client natif (pour info, la différence de temps de réponse est facilement de 100%).
Ensuite pour récupérer le schema d'une table ou d'un dataset tu peux utiliser la méthode GetSchemaTable sur un DataReader, ou faire un FillSchema sur un DataSet.
A noter que quand tu charges des tables dans un dataset, le schema est toujours chargé, mais que FillSchema permet de charger le schema sans charger les données.
A noter aussi que le GetSchematable du DataReader retourne une table qui est un schema (avec une ligne par champs de la table), rien à voir avec le schema interne du DataSet.
La SchemaTable du DataReader ets un poil plus complexe à exploiter mais fournit plus d'informations.
cf MSDN pour les détails.
Mais j'ai également besoin de lister les tables existantes au sein d'une base de données d'où l'utilisation du GetOleDbSchemaTable.
Ce n'est pas un motif valable. Tu as la méthode GetSchema sur l'objet SqlConnection, qui sert précisément à cela.
Encore une fois, il n'y a aucune raison d'utiliser les accés via OleDb quand tu dispose d'un provider spécifique à la base.
Cette méthode me donne effectivement plus d'informations, par contre je ne vois toujours pas comment obtenir le descriptif associé à un champ.
Avez-vous une solution ?
Tu cherches à récupérer la propriété "Description" des colonnes si je comprends bien ?
Dans ce cas, sur une colonne donnée, il faut aller chercher les ExtendedProperties, et la propriété qui contient la description du champs c'est "MS_Description"