none
Ecran d'administration d'une table d'association RRS feed

  • Question

  •  

    Bonsoir

    j'ai un mini projet pour lundi j'ai bien lu l'enoncé mais j'ai pas compris comment je fais pour resoudre cet exercice
    je souhaite que quelqu'un peut m'aider.

    Enoncé

    Etant donné deux tables simples (clé primaire, libellé) ayant un nombre d'enregistrement

    limité (affichable sur 1 écran sans pagination):
    *users
    *groupe

    et une table d'association plusieurs à plusieurs entre ces entités.
    >implémenter un écran permettant d'administrer (restitution et modification) l'association plusieurs à plusieurs entre ces deux entités en une seule opération (pas de navigation pour effectuer des modification en masse).

    l'exercice doit être réalisé avec les technologies c# et mysql ou sqlserver.

    vendredi 8 janvier 2010 22:53

Réponses

  • Bonjour,

    C'est un exercice intéressant lorsqu'on débute en C#, il faut que tu y passes du temps pour apprendre les bases.
    Néanmoins je peux te donner une guideline pour réaliser ton exercice.
    Je t'ai donné une ligne d'ordre général, il y a des moments où il te faudra chercher par toi-même les réponses, ou comment on fait, pour que tu puisses apprendre de l'exercice, mais si tu bloques et qu'en cherchant tu ne trouves pas, n'hésite pas à demander dans le forum approprié.

    1. Installation :
    - Va sur : http://msdn.microsoft.com/fr-fr/express/aa975050.aspx
    - Télécharge SQL Server Express Edition.
    - Télécharge Visual Studio Express Edition.

    2. Base de données et représentation des données dans ton appli : ici les didacticiels SQL Server : http://msdn.microsoft.com/fr-fr/library/ms365325(SQL.90).aspx
    - Ouvre SQL Management Studio, crée une nouvelle base.
    - Crée tes 3 tables : je pars du principe que tu sais ce que c'est qu'une table d'associations, si ce n'est pas le cas, hésite pas a demander.
    - Dans Visual Studio, crée un nouveau projet de type WindowsFormApplcation.
    - Clic droit sur ton projet, ajouter item, choisis un DataSet (c'est un fichier xsd)
    - Double clique sur ton DataSet, il s'ouvre il est vide.
    - Ouvre l'onglet Server Explorer, connecte-toi à ta base que tu viens de créer, le serveur sera : TON_ORDI\SQLEXPRESS, apres mets authentification windows, ca devrait aller tout seul, si ca va pas, pose des questions la-dessus.
    - Dans cet onglet, une fois connecté, fais glisser tes 3 tables vers le dataset, il te creera 3 tables avec les commandes de base et les liens entre les tables (si tu as bien mis les foreign keys, bien sûr).
    - Dans ton exercice tu dois pouvoir manager les relations entre users et groups, on va donc s'intéresser aux expressions : http://msdn.microsoft.com/fr-fr/library/system.data.datacolumn.expression(VS.80).aspx . Ces expressions te permettront de rajouter 2 colonnes sur ta table d'associations, une contenant le nom du user, et une contenant le libelle du groupe. Intéresse-toi aux notions de Chlid et de Parent.

    3. Conception de l'ecran, et lien avec ton DataSet.
    - Retourne sur ton Form1. Fais glisser 1 DataGridView de ta toolbox, et 1 BindingSource : http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.aspx
    - Il te faut maintenant lier ton BindingSource à une de tes tables du DataSet, au hasard ta table d'associations avec tes expressions qui s'appellera surement UserGroup
    - Ensuite, une fois que c'est fait, tu mets en DataSource de ton 1er GridView la BindingSource, et dans ta grille les 4 colonnes s'affichent.
    - Dans les propriétés d'édition de tes colonnes, il ne reste plus qu'a mettre en Visible = False les colonnes avec les Ids, elles ne nous interessent pas a l'affichage.

    4. Les actions :
    - Ajoute un Button a partir de ta toolbox sur ton Form1.
    - Change lui son Text en Sauvegarder.
    - Double-clique dessus, cela créera le gestionnaire d'evenement quand on clique dessus, et l'ouvrira dans le code.
    - Dans ce gestionnaire, il faut arrêter l'edition du BindingSource, et updater la table d'association de ton DataSet (je te laisse voir, pense à importer dans le form tes tableadapters)
    - Enfin, au chargement du formulaire, il faut remplir les 3 tables du dataset (idem, tableadapters)

    Voilà voilà, je pense que ca te donnera une idée de quoi faire.

    Cordialement,

    Thomas
    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    dimanche 10 janvier 2010 14:30