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

C# Discussion :

sqldatasource, dataset et jointure


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut sqldatasource, dataset et jointure
    Bonjour à tous,

    Plutôt que de lier des tables situées sur des serveurs différents l'on m'a conseillé d'exécuter les deux requêtes indépendemment l'une de l'autre et de les lier ensuite dans le code-behind.

    Dans une BDD je dois ainsi sélectionner les infos sur les posts (d'un forum) et dans une autre je récupère les infos sur les posteurs (les membres du forum).

    D'après ce que j'ai pu trouver il faut utiliser un dataset mais je ne sais pas trop comment!!

    Voila ce que je sais :

    J'utilise deux sqldatasources pour récupérer les données et le lien entre les deux requêtes sera le champs login.

    Pour faire le lien je devrais utiliser "ds.relations.add(table1.col1, table2.col2)"

    Comment insérer dans un dataset les résultats des deux requêtes depuis les datasources. Ensuite comment les lier et donc créer une nouvelle table avec la jointure et ensuite est-il facile de lier cette jointure à un datarepeater par exemple.

    Je débute dans l'utilisation de ces éléments.

    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Je peux peut être t'apporter une (toute) petite brique :
    un dataset peut comporter plusieurs tables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dataset ds  = // construction
    // appel de la requete
    ds.Tables.add(/*T1*/)
    ds.Tables.add(/*T2*/)
     
    // code de creation T3
    ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 27
    Par défaut
    Essaie d'utiliser des datatableAdapter.

    Ensuite tu pourras avoir un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MondatatableAdapter.Fill(MondataSet.TableUn)
    , où 'monDatatableAdapter' est configuré avec une sqlconnection d'une base, et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MondatatableAdapterDeux.Fill(MondataSet.TableDeux)[/
    ,


    qui prends les données depuis une seconde BD. Dans VS, en mode Designer sur ton dataSet, tu ajoutes la relation qui va bien entre les deux tables. (et tu mets 'enforeceConstraints' à False avant les appels à 'Fill()').

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 27
    Par défaut
    Excuse-moi, j'ai oublié un truc : le mieux ça serait de créer un dataset 'typé'. Dans Visual Studio tu fais clic droit dans le Solution Explorer, et 'ajouter un élément' ==> dataset.

    Ensuite tu peux ajouter des 'TableAdapter' en mode designer. Je crois que chaque table peut avoir une connection SQL propre.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    Merci bcp pour ces réponses

    J'essaierai tout ça ;-)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    J'ai essayé ce que vous me conseilliez mais il y a un petit problème.

    En utilisant le dataset via l'explorateur de solution, lors de la configuration, l'on demande de préciser le lien à la base de données. Moi ce que j'aimerais c'est accéder à deux bdd différentes. Ceci ne semble pas possible par cette méthode.

    Je suis donc toujours bloqué sauf si mon ignorance dans le sujet m'a fait passer à coté de qqch ????

    Merci pour votre aide

  7. #7
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    Dataset d1  = // construction
    // appel de la requete 1
    // d1 contient T1
     
    Dataset d2  = // construction
    // appel de la requete 2
    // d2 contient T2
     
    Dataset ds  = // construction
    ds.Tables.add(/*T1*/)
    ds.Tables.add(/*T2*/)
    // code de creation T3 dans ds avec liaison des données
    ?

Discussions similaires

  1. Linq to Dataset, jointure externe et group by
    Par CyBeRoN dans le forum Linq
    Réponses: 1
    Dernier message: 16/11/2011, 11h52
  2. jointure de dataset
    Par jmlarre dans le forum BIRT
    Réponses: 4
    Dernier message: 17/09/2009, 12h52
  3. DataSet et requete avec jointure
    Par Mouadlib dans le forum Accès aux données
    Réponses: 2
    Dernier message: 13/05/2009, 12h00
  4. [1.3.3] DataSet et jointure interne
    Par lazarel dans le forum iReport
    Réponses: 0
    Dernier message: 25/07/2007, 15h15
  5. Jointure externe et DataSet
    Par hdd dans le forum Accès aux données
    Réponses: 7
    Dernier message: 02/01/2007, 14h58

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