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

Accès aux données Discussion :

DataSet : 2 tables dans un datagridview


Sujet :

Accès aux données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 13
    Points
    13
    Par défaut DataSet : 2 tables dans un datagridview
    Bonjour,

    J'ai une base oracle dans laquelle j'ai une table générique a laquelle sont liées trois tables dites "d'héritage" qui me permettent de spécialiser la table générique.
    Prenons un exemple avec des voitures : La table générique décrit une voiture avec les champs communs à tous les types de voiture. Les tables héritées permettent de spécialiser la voiture générique (tables Berlines, coupés, utilitaires) en ajoutant des champs propres à chacun des types.
    Il y a donc une relation 1:1 entre une table héritée et la table générique et 0:1 entre la table générique et une table héritée.

    J'ai créé un dataSet à l'image de ma base de données chaque table étant doté de ses requêtes update/insert/delete. Les relation ont été également créées.

    Je souhaite maintenant pouvoir afficher dans un seul datagridview l'ensemble des voitures de type berline en affichant l'ensemble des champs de la table générique plus ceux de la table berline.

    Si je fait une datatable à partir d'une requête SELECT, je ne peut pas gérer dans un dataadapter les insert/update/delete sur deux tables de la base...

    Donc comment puis je faire pour afficher une liaison entre deux table d'un dataset d'ans un datagridview ?

    Merci à vous

  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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Lolux Voir le message
    Si je fait une datatable à partir d'une requête SELECT, je ne peut pas gérer dans un dataadapter les insert/update/delete sur deux tables de la base...
    Non, mais avec Oracle il me semble que les vues peuvent êtres utilisées pour faire des insert/update/delete... donc il suffit peut-être de créer une vue qui fait la jointure de toutes ces tables.

    Sinon, tu dois pouvoir créer ton propre DataAdapter pour gérer ça (je sais pas trop comment, j'ai jamais fait...)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Merci pour la réponse.

    Je suis sur une piste avec la méthode DataTable.Merge... je ne sais pas encore où ça va me mener.

    Je vais essayer aussi les vues sous oracle.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Bon bha en fait la solution avec les vues a l'air de marcher très bien.

    Pour l'instant j'arrive à modifier des enregistrements de la vue depuis l'explorateur de serveurs de VS donc avec les dataset il ne devrai pas y avoir de problèmes.

    Merci encore !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    En fait, je retire ce que j'ai dit...

    J'ai crié hourra un peu trop vite. En effet, les UPDATE fonctionnent sur ma vue, mais pas les INSERT et DELETE à cause de la liaison entre les deux tables...

    Arf... Il va falloir que je trouve autre chose.

    Merci quand même pour le coup de main. Je reste toujours preneur si vous avez d'autres pistes.

    A+

  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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    je crois que tu peux mettre des triggers "INSTEAD OF" sur la vue, et dans le trigger, supprimer les lignes des différentes tables

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Yep, c'est ce que j'ai fait en m'inspirant d'un tuto trouvé ici.

    Ca me pose de nouveaux problèmes, mais je vais quand même mettre le tag [Résolu] car la solution passe bien par les triggers.

    Merci beaucoup,

    Lolux

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/06/2010, 13h03
  2. Probleme d'update d'une table dans un DataGridView vers une bd
    Par Faladin dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/05/2008, 20h12
  3. Réponses: 13
    Dernier message: 14/04/2008, 14h30
  4. Rapidité d'affichage d'une table dans un datagridview
    Par will2taz dans le forum VB.NET
    Réponses: 9
    Dernier message: 13/11/2007, 18h22
  5. Réponses: 7
    Dernier message: 18/06/2004, 09h58

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