Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment programmer le résultat de deux tables SQL

    20 septembre 2017 à 3:04:23

    Voilà le problème (je le simplifie à l'extrême)

    Avec SQL Server j'ai une base appelée MiniBase, cette base contient 2 tables Jeux et Catégories

    La table Catégories contient :

    CatégorieID int, identitity, clé primaire

    Catégorie varchar (50)

    La table Jeux contient :

    JeuID int, identitity, clé primaire

    Jeu varchar (50)

    CatégorieID

    J'ai fait une clé étrangère pour relier les CatégorieID des deux tables

    Mon problème est que je suis infichu de faire cette relation avec C# et tout ce que je trouve dans les tutoriels divers ce sont des affichages d'une table. Or je voudrais obtenir autre chose qu'une vue et que tout soit modifiable avec une liste déroulante pour la catégorie.

    Je sais faire cela sous Access mais pas avec C# + SQL Server et je ne trouve aucun tutoriel à ce sujet.

    Un brave coeur pourrait-il me dépatouiller en utilisant cet exemple simplissime afin d'avoir un formulaire (nanti d'un BindingNavigator) avec une zone de texte modifiable, pas seulement affichable, et une zone de liste déroulante pour les catégories.

    • Partager sur Facebook
    • Partager sur Twitter
      20 septembre 2017 à 16:12:53

      Il ne faut pas que vous mélangiez les aspects Data et les aspects IHM ("liste déroulante pour la catégorie").

      Faites une couche d'accès aux données qui se fout des "listes déroulantes", mais qui maintient la cohérence des données.

      Vous avez déjà fait le travail minimal pour l'intégrité des données en ayant une intégrité référentielle via les clés étrangères.

      Si votre SGBDR ne supporte pas les modifications sur des Vues (et c'est bien dommage), vous pouvez vous rabattre sur des procédures stockées (voir une série de modification en cascades dans le pire des cas).

      Mais, après réflexion, vous ne modifiez que des enregistrements de la table "Jeux", donc une simple requêtes de mise à jour (UPDATE) sur cette table.

      Si l'utilisateur a sélectionné "Jeux de BaBalle" dans la dropdownlist des catégorie dans l'IHM, qui correspond à l'ID "101" dans la table des catégories, nous, on s'en fout, on met "101" dans la colonne CatégorieID dans l'enregistrement de la table "Jeu".

      P.S.: Utiliser un ORM vous simplifierait la vie. ;)

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

      Comment programmer le résultat de deux tables SQL

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown