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 :

Problème avec DataSet et DataRelation


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut Problème avec DataSet et DataRelation
    Bonjour,

    J'ai un dataset avec 2 tables {T1, T2} qui contiennent 2 colonnes {{T1C1, T1C2}, {T2C1, T2C2}}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DataColumn COL1 = dataset.Tables["T1"].Columns["T1C1"];
    DataColumn COL2 = dataset.Tables["T2"].Columns["T2C1"];
    DataRelation REL1 = new DataRelation("REL1", COL1, COL2);
     
    DataColumn COL3 = dataset.Tables["T1"].Columns["T1C2"];
    DataColumn COL4 = dataset.Tables["T2"].Columns["T2C2"];
    DataRelation REL2 = new DataRelation("REL2", COL3, COL4);
     
    dataset.Relations.AddRange(new DataRelation[] { REL1, REL2 });
    Mais T2 est vide (et c'est normal ici), et j'ai un message d'erreur sur la dernière ligne ici qui me dit :

    Ces colonnes n'ont pas actuellement de valeurs uniques.

    Est-ce que quelqu'un saurait me dire pourquoi ma T2 ne peut être vide???

    Merci d'avance

  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
    A mon avis, ce qui pose problème, ce n'est pas que la table T2 soit vide, mais que les valeurs de T1C1 (ou de T2C2) ne sont pas uniques. Or les valeurs de la colonne parente de la relation doivent être uniques

    D'ailleurs je trouve bizarre ton schema de données... pourquoi fais-tu 2 relations entre ces tables ? Je ne vois pas trop dans quelle situation on peut avoir besoin de faire ça...

  3. #3
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut
    oufff, ce n'est pas clair... ce qui veut dire qu'il faut que au minimum la relation soit du 1 pour 1... Il ne peut pas avoir une donnée parent sans donnée enfant?

  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 Poussy-Puce Voir le message
    Il ne peut pas avoir une donnée parent sans donnée enfant?
    Si, mais il ne peut pas y avoir de donnée enfant sans donnée parent...

  5. #5
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut
    ouin, mais si y'a rien dans la table enfant, c'est qu'il n'y a pas de donné enfant un point c'est tout non?!?

  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
    Je t'ai dit que ça n'a rien à voir avec le fait que la table enfant soit vide... le problème est dans la table parent
    As-tu des données dans la table parent (T1) ? Si oui, est-ce que les valeurs dans les colonnes sont uniques ?

  7. #7
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut
    Citation Envoyé par tomlev Voir le message
    ...
    D'ailleurs je trouve bizarre ton schema de données... pourquoi fais-tu 2 relations entre ces tables ? Je ne vois pas trop dans quelle situation on peut avoir besoin de faire ça...
    Parce que pour qu'un enregistrement soit unique, ça prends la jointure de 2 champs...

    Sinon, je suis peut-être dans le champs avec mes 2 relations... Est-ce qu'il y a moyen de faire une seule relation entre mes 2 champs qui sont "les clés de ma table"

  8. #8
    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
    OK, je vois ce que tu veux dire : les couples (T1C1, T1C2) sont uniques, mais pas les valeurs de T1C1 ou de T1C2 indépendemment. Dans ce cas il faut déclarer que la relation est sur les 2 colonnes, et non déclarer 2 relations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DataColumn colParent1 = dataset.Tables["T1"].Columns["T1C1"];
    DataColumn colParent2 = dataset.Tables["T1"].Columns["T1C2"];
     
    DataColumn colEnfant1 = dataset.Tables["T2"].Columns["T2C1"];
    DataColumn colEnfant2 = dataset.Tables["T2"].Columns["T2C2"];
     
    DataRelation rel = new DataRelation("REL_T1_T2", new DataColumn[] {colParent1, colParent2 }, new DataColumn[] {colEnfant1, colEnfant2});
     
    dataset.Relations.Add(rel);

  9. #9
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut
    WOUHOUHOU!!!

    C'était exactement mon problème...

    Merci beaucoup de ton aide tomlev, ça m'a été très utile...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème avec dataset pour remplir listbox
    Par lordsion dans le forum ASP.NET
    Réponses: 4
    Dernier message: 14/06/2011, 17h11
  2. Probléme avec dataset
    Par d_sandra dans le forum C#
    Réponses: 5
    Dernier message: 01/06/2011, 14h09
  3. Problème avec DataSet.EnforceConstraint
    Par bor1s dans le forum ASP.NET
    Réponses: 2
    Dernier message: 29/11/2009, 23h05
  4. Problème avec DataSet.Update
    Par djorfe dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/11/2008, 15h21
  5. [VB.NET]Problèmes avec DataSet
    Par Irish dans le forum ASP.NET
    Réponses: 5
    Dernier message: 08/12/2006, 13h06

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