Remplir un Dataset avec plusieurs tables......

Résolu
BasicZx81 Messages postés 140 Date d'inscription samedi 5 mars 2011 Statut Membre Dernière intervention 13 août 2013 - 12 nov. 2011 à 20:15
BasicZx81 Messages postés 140 Date d'inscription samedi 5 mars 2011 Statut Membre Dernière intervention 13 août 2013 - 14 nov. 2011 à 20:56
Bonsoir à tous,
Je n'ai pas programmé depuis plusieurs année donc je suis un peu perdu avec l'arrivée de ADO.NET et plus précisément sur les points suivants : (Certaines questions vont vous paraître des questions de niveau débutant, j'espère que vous serez indulgent....)

1- Comment remplir un Dataset avec plusieurs tables ? Beaucoup d'exemple sur le web ne charge qu'une seule table ! hors si j'ai bien suivi le dataset est prévu pour contenir plusieurs tables.
Pour une seule table j'utilise le code suivant (dont j'ai enlevé quelques lignes pour une meilleure lisibilité)
sql = "SELECT * FROM Table1"
DBcommand = New OleDbCommand(sql)
DBDataAdapter = New OleDbDataAdapter(DBcommand)
DBDataAdapter.Fill(DBDataSet, "Table1")

2- Comment connaitre le nom des tables et les noms de colonne de chaque tables d'une base .mdb non connu à l'avance.

Je vous remercie beaucoup si vous pouvez m'aider sur ces 2 points.

7 réponses

BasicZx81 Messages postés 140 Date d'inscription samedi 5 mars 2011 Statut Membre Dernière intervention 13 août 2013
14 nov. 2011 à 20:56
Merci le Pivert pour ton aide,
Visiblement le Dataset n'est pas trop prévu pour fonctionner comme je le pensais. Par exemple quand j’exécute la commande OleDBAdapter.Fill (ds) , celle-ci charge le dataset avec des données appelées via ma commande sql et bizarrement comme je n'ai pas spécifié de nom de table l'Adapter lui donne automatiquement le nom "Table". Je manque un peu trop de connaissance à ce niveau pour allez plus loin et je vais acheter un ou deux livres sur ADO.net pour connaitre un peu mieux ce Dataset et l'usage que l'on peux en faire.
Je te remercie beaucoup pour ton aide qui m'a quand même aidé à avancer un peu plus. je clôture le post.