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

Bases de données Delphi Discussion :

jointure 3 Tables


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut jointure 3 Tables
    slt tous le monde
    j ai 2 table

    Table_Projet
    *************
    projet-id

    Table_Ingénieur
    ***************
    ing-id

    Table_Suivi
    ************************
    projet_id
    ing_id
    type_de_suivi

    Svp
    commant lier ces Table et gere linsertion et suprression et mise a jour

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    C'est juste une relation Many-To-Many avec Table_Suivi comme relation entre Table_Projet et Table_Ingénieur

    Quel est le problème ?
    Tu ne sais pas écrire le SQL ?
    Tu ne sais pas quel composant utilisé comme le TQuery, TADOQuery, TSQLQuery et j'en passe, la mise à jour de Jointure n'est pas chose aisée !
    En Interbase un TIBUpdateSQL permet de le simplifier
    En ADO , la lecture attentive du sujet insert DBGrid avec TADOQuery et requete avec jointure
    En DBX, voir TClientDataSet et BeforeUpdateRecord
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut
    j ai utilise ado tables 'as a dataset'

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Tu pourrais nous fourni les SQL que tu as commencé à écrire
    le SELECT évidemment et les 3 différents INSERT\UPDATE pour chaque table à mettre à jour.

    On a besoin de connaître le travail accompli pour t'aider, là il n'y a rien ni aucune question précise, impossible de t'en dire plus que dans les différentes réponses dont celle de kachwahed dans "insert DBGrid avec TADOQuery et requete avec jointure" et dans "Mastering Delphi 7 > Part III: Delphi Database-Oriented Architectures > Chapter 15: Working with ADO > Updating the Data"
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut
    Mon Probleme c est commant faire la mise a jour de la table Pasrelle 'bridge table' la table 'Suivi' sur delphi aide moi svp

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Si j'ai bien compris (mais je ne suis pas sûr) tu cherche à savoir comment lier ces tables et les mettre à jour.

    Apparemment tu sembles avoir compris, le principe de clé primaire et clé étrangère. Pour lier ces trois table il faut déclarer les id des tables Projet et Ingénieur en tant que clé primaire de leur table respective et définir ces champs comme clés étrangères de la table Suivi

    Pour l'insertion, tu peut insérer directemement dans les tables Projet et Ingénieur sans te préoccuper de la table Suivi. Par contre si tu veux insérer dans la table suivi, il te faut d'abord vérifier la présence des id dans les tables Projet et Ingénieur et les insérer s'il n'y sont pas. Le mieux et de faire ça dans une transaction.

    Pour la suppression, c'est l'inverse. tu peut supprimer des enregistrement dans la table Suivi sans problème. Par contre si tu veux supprimer dans la table Projet ou dans la table Ingénieur, il faut penser à d'abord supprimer les enregistrements potentiels dans la table Suivi. Idem pour la transaction

    Pour la modification, je suppose que tes tables Projet et Ingénieur n'ont pas uniquement les champs que tu présentes. Tu peux modifier ces AUTRES champs sans problème. De même que tu peux modifier la valeur du type de suivi (si bien entendu, elle ne correspond pas à la clé primaire d'une autre table que tu n'aurais pas noté).

    Ceci, n'est qu'une petite partie des choses à savoir. Je te conseille de lire les tutos que tu trouveras sur ce même site.

Discussions similaires

  1. Jointure de table avec Interbase
    Par ada_b dans le forum InterBase
    Réponses: 21
    Dernier message: 12/05/2010, 19h52
  2. Réponses: 7
    Dernier message: 10/02/2005, 00h13
  3. [FB1.5]Vue avec jointure sur tables ?
    Par Sitting Bull dans le forum SQL
    Réponses: 2
    Dernier message: 07/12/2004, 17h07
  4. jointure sur table et procedure stocké
    Par pram dans le forum SQL
    Réponses: 3
    Dernier message: 18/11/2004, 21h56
  5. requete(jointure 2 tables) qui marche pas
    Par DaxTaz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/06/2004, 17h50

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