Pourquoi via la collection Columns d'un DataTable l'info si PrimaryKey n'est pas accessible ?
1 réponse
Jean-Noel
Bonjour,
Je débute avec VB.NET et ADO.NET.
J'aimerai parcourir les colonnes d'une table d'un DataSet, et identifier
celle(s) qui est utilisée(s) en tant que PrimaryKey.
Le DataSet est connecté Oledb sur une base Access.
Quand j'utilise l'objet DataSet créé dans l'environnement VS2005, pas de
problème :
Dim Colonnes( ) As DataColumn
Colonnes = DS.Tables(0).PrimaryKey
La collection Colonnes, me fournit bien la(les) column qui constituent la
PrimaryKey,
et je peux par exemple extraire le nom de la colonne avec
Colonnes(0).ColumnName
Si je crée l'objet DataSet dans le code et le remplit exactement de la même
manière
que précédemment, la collection Colonnes est vide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Noel
C'est bon j'ai trouvé : Il faut avec le DataAdapter, charger le "Schema" de la table comme suit :
DAdapt.Fill (DS,"NomDeLaTable") 'Remplissage des données de la table DAdapt.FillSchema (DS.Tables("NomDeLaTable"), SchemaType.Source) 'Remplissage du schéma de la table
"Jean-Noel" <jean-noel(Supp)@wanadoo.fr> a écrit dans le message de news:
Bonjour,
Je débute avec VB.NET et ADO.NET.
J'aimerai parcourir les colonnes d'une table d'un DataSet, et identifier celle(s) qui est utilisée(s) en tant que PrimaryKey. Le DataSet est connecté Oledb sur une base Access.
Quand j'utilise l'objet DataSet créé dans l'environnement VS2005, pas de problème :
Dim Colonnes( ) As DataColumn Colonnes = DS.Tables(0).PrimaryKey
La collection Colonnes, me fournit bien la(les) column qui constituent la PrimaryKey, et je peux par exemple extraire le nom de la colonne avec Colonnes(0).ColumnName
Si je crée l'objet DataSet dans le code et le remplit exactement de la même manière que précédemment, la collection Colonnes est vide.
Quelqu'un peut-il m'expliquer pourquoi ?
Merci.
C'est bon j'ai trouvé :
Il faut avec le DataAdapter, charger le "Schema" de la table comme suit :
DAdapt.Fill (DS,"NomDeLaTable")
'Remplissage des données de la table
DAdapt.FillSchema (DS.Tables("NomDeLaTable"), SchemaType.Source)
'Remplissage du schéma de la table
"Jean-Noel" <jean-noel(Supp)@wanadoo.fr> a écrit dans le message de news:
OcCGn8pIHHA.1276@TK2MSFTNGP04.phx.gbl...
Bonjour,
Je débute avec VB.NET et ADO.NET.
J'aimerai parcourir les colonnes d'une table d'un DataSet, et identifier
celle(s) qui est utilisée(s) en tant que PrimaryKey.
Le DataSet est connecté Oledb sur une base Access.
Quand j'utilise l'objet DataSet créé dans l'environnement VS2005, pas de
problème :
Dim Colonnes( ) As DataColumn
Colonnes = DS.Tables(0).PrimaryKey
La collection Colonnes, me fournit bien la(les) column qui constituent la
PrimaryKey,
et je peux par exemple extraire le nom de la colonne avec
Colonnes(0).ColumnName
Si je crée l'objet DataSet dans le code et le remplit exactement de la
même manière
que précédemment, la collection Colonnes est vide.
C'est bon j'ai trouvé : Il faut avec le DataAdapter, charger le "Schema" de la table comme suit :
DAdapt.Fill (DS,"NomDeLaTable") 'Remplissage des données de la table DAdapt.FillSchema (DS.Tables("NomDeLaTable"), SchemaType.Source) 'Remplissage du schéma de la table
"Jean-Noel" <jean-noel(Supp)@wanadoo.fr> a écrit dans le message de news:
Bonjour,
Je débute avec VB.NET et ADO.NET.
J'aimerai parcourir les colonnes d'une table d'un DataSet, et identifier celle(s) qui est utilisée(s) en tant que PrimaryKey. Le DataSet est connecté Oledb sur une base Access.
Quand j'utilise l'objet DataSet créé dans l'environnement VS2005, pas de problème :
Dim Colonnes( ) As DataColumn Colonnes = DS.Tables(0).PrimaryKey
La collection Colonnes, me fournit bien la(les) column qui constituent la PrimaryKey, et je peux par exemple extraire le nom de la colonne avec Colonnes(0).ColumnName
Si je crée l'objet DataSet dans le code et le remplit exactement de la même manière que précédemment, la collection Colonnes est vide.