IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

relation table vb.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    446
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 446
    Par défaut relation table vb.net
    Salut tout le monde
    Je voudrais avoir une petite aide.Je possède 2 table fournisseurs(idfrs,nom,ville) ,produit(idproduit,prix,idfrs)
    J'ai fait un petit programme qui donne la possibilité à l'utilisateur d'exécuter les requetes des sélection selon son choix.
    En effet l'utilisateur choisit les champs à afficher et puis saisit la ou les conditions (where) mais ce que je n'ai pas pu faire c'est comment je peux savoir qu'il faut faire une jointure entre les tables.
    est ce qu'il n'y a pas le moyen de le savoir avec le dataset.

    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ton explication est pas super claire, donc je suis pas sûr d'avoir bien compris...

    Je résume :
    - l'utilisateur choisit les champs à afficher (clause SELECT)
    - il choisit les critères de sélection (clause WHERE)
    - tu génères la requête dynamiquement à partir de ces choix, et tu l'exécutes
    - tu voudrais savoir quelles tables inclure dans le FROM (en faisant éventuellement une jointure)

    C'est bien ça ?

    Donc dans ta requête il te faut toutes les tables dont les champs sont utilisés pour l'affichage ou pour le filtrage. Je ne vois pas trop ce que le dataset vient faire là-dedans... c'est toi qui voit quels champs ont été sélectionnés par l'utilisateur, et selon la table d'où ils viennent, tu inclues ou non cette table dans le FROM (et s'il y en a plusieurs, tu ajoutes les critères de jointure)

    Ou alors, si les performances ne sont pas critiques, tu peux toujours faire la jointure à chaque fois, même si tu n'en as pas besoin...

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    446
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 446
    Par défaut
    j'ai fait de telle sorte qu'après avoir choisi les champs à afficher(select) et les conditions (where) je connais les tables sources (from) ,mais comment je peux savoir qu'il faut faire la jointure entre les tables choisis , et comment connaitre le champ qui va nous servir pour la jointure.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par gentelmand Voir le message
    mais comment je peux savoir qu'il faut faire la jointure entre les tables choisis , et comment connaitre le champ qui va nous servir pour la jointure.
    Ben à partir du moment où il y a plus d'une table, il faut faire une jointure...
    Et le champ qui sert pour la jointure, il n'y a pas de façon "générique" de le connaitre, c'est toi qui dois savoir selon quel critère les tables doivent être jointes...

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    446
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 446
    Par défaut
    j'ai vu dans ce document http://plasserre.developpez.com/v6-5.htm que le dataset possède des propriétés telle que le relation qui contient les datarelation (les relations entre les tables)
    Ce n'est pas expliqué mais je pense qu'on peut utiliser les dataSet pour connaitre comment faire les jointures.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Les relations dans les datasets sont équivalentes aux relations entre des tables dans la base, donc effectivement tu pourrais exploiter ça, mais à mon avis tu vas plus te galérer qu'en le faisant "en dur", surtout si c'est juste pour 2 tables. Par contre, si tu as beaucoup de tables à requêter dynamiquement, ça peut être intéressant... Mais ça suppose d'avoir modélisé dans ton DataSet toutes les tables et relations concernées

Discussions similaires

  1. pb relations tables + ligne d'enregistrement
    Par Ludo11 dans le forum Modélisation
    Réponses: 1
    Dernier message: 01/06/2007, 17h56
  2. Inserer un checkbox dans une table ASP.NET
    Par intissar_g dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/04/2007, 14h24
  3. Réponses: 4
    Dernier message: 22/08/2006, 11h20
  4. Réponses: 5
    Dernier message: 12/12/2005, 18h30
  5. [conception] relations tables appliquée à l'archéologie
    Par Leehan dans le forum Modélisation
    Réponses: 8
    Dernier message: 08/11/2005, 20h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo