-
Actualiser le Dataset
Peut être qu'il y a un truc évident que je ne vois pas, mais j'ai un petit souci : dans mon appli vb.net, j'ai une source de données qui est une base access. Il y a donc un DataSet avec toutes mes tables, relations, etc, dans le projet.
Si je fais un changement de données dans la base, c'est bien pris en compte, mais pas si je fais un changement de structure (nouvel attribut, nouvelle table, etc) ; et là, j'ai plein de changements de structure à faire ! Comment peut-on faire comprendre au DataSet qu'il faut qu'il aille se caler sur le schéma de la base ? Il y a bien "actualiser" mais ça ne change rien du tout.
Est-ce que je peux faire autre chose ou je suis obligée de :
- soit faire les changements à la main dans le DataSet aussi
- soit supprimer mon DataSet (et donc toutes les méthodes que j'ai ajoutées :() et en recréer un nouveau ?
-
Il n'y a pas d'autres solutions car l'EDI ne peux pas suivre les changements de schéma en temps réel. Par contre je ne vois pas trop en quoi c'est génant de recréer le dataset puisque tu peux mettre tes méthodes ajoutées dans une partial class.
-
Bon, je n'étais pas emballée par l'idée de coder, mais comme je sens qu'on va me faire encore changer des trucs dans la base, je vais peut être adopter ta solution :oops:
Comment on fait, concrètement et simplement, pour transformer une requête SQL en partial class ? (si tu as un endroit ou c'est bien expliqué ça me va très bien, là je ne trouve que des choses sur les partial class en général mais pas celles pour les BD).
Merci !!
-
tu fais un clic droit sur ton dataset dans l'explorateur de projet puis "afficher le code". S'il n'y a pas déjà de code ajouter il va te créer une classe partielle dans un fichier nomdataset.vb
il suffit de sauvegarder ce fichier avant de recréer le dataset et de le remettre après la création.
-
Ca j'avais trouvé, c'était plutot comment écrire la requete SQL dans la classe qui me posait problème. Mais les morceaux de code proposés par VB sont une bonne piste, donc ça va.
Et puis j'ai abandonné ça pour l'instant, car j'arrive à faire quelques petites mises à jour : ça ne fait pas tout bien, mais si on a rajouté un champ, ça l'intègre, alors je voulais le poster ici pour info :
il suffit de cliquer sur "Configurer" dans le menu contextuel du TableAdapter, et puis de faire un "SELECT * FROM MaTable" et ça fait une bonne partie du boulot, ça importe les attributs qui manquent et des fois, les relations ^^