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 :

Maitre - detail en interbase ?


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 98
    Points : 50
    Points
    50
    Par défaut Maitre - detail en interbase ?
    Bonjour à tous et à toutes.

    J'ai deux IBtables que je veux relier en Maitre - Détail. Au niveau de delphi7 j'ai relié IBtable2 avec IBtable1 en utilisant la propriété Mastersource et Masterfields pour indentifier les champs de la relation.

    Puis je crée l'interface de saisie de l'enregistrement maitre et détail.
    Jusqu'ici tout marche , la relation marche trés bien.

    Mon probléme est le suivant : Quand je supprime un enregistrement maitre qui
    a des enfants dans le détail, il accepte la suppression alors que normalement
    non ? Ce qui veut dire que la relation d'intégrité référentielle manque .

    Oû doit je définir l'intégrité réferentielle avec INTERBASE 6.5 ?

    Grand remerciement à tous ceux qui nous aident .

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par HASSIOMAR Voir le message
    Mon probléme est le suivant : Quand je supprime un enregistrement maitre qui
    a des enfants dans le détail, il accepte la suppression alors que normalement
    non ? Ce qui veut dire que la relation d'intégrité référentielle manque .
    Gagné
    Oû doit je définir l'intégrité réferentielle avec INTERBASE 6.5 ?
    une petite recherche sur FOREIGN KEY ou sur REFERENCES devrait te donner la solution. Un message (si nécessaire) dans le bon forum , après lecture de la FAQ encore plus ici

    6.5 c'est plus que vieux , il serait peu être temps de passer a une version plus récente ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Points : 17
    Points
    17
    Par défaut Maitre - detail en interbase ?
    Voici deux tables : Client (Maître) et Commande (détail), et le code de création des ces deux tables avec contrainte d'intégrité référentielle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    /************** Table Client *******************/
     
     CREATE TABLE CLIENT (
        CODECL  INTEGER NOT NULL,
        NOM     VARCHAR(30) NOT NULL
    );
     
    ALTER TABLE CLIENT ADD CONSTRAINT PK_CLIENT PRIMARY KEY (CODECL);
     
    /************* Table commande **********************/
     
    CREATE TABLE COMMANDE (
        CODECOM  INTEGER NOT NULL,
        CODECL   INTEGER NOT NULL,
        DATECOM  DATE
    );
     
    ALTER TABLE COMMANDE ADD CONSTRAINT PK_COMMANDE PRIMARY KEY (CODECOM);
     
    ALTER TABLE COMMANDE ADD CONSTRAINT FK_COMMANDE_CODECL FOREIGN KEY (CODECL) REFERENCES CLIENT (CODECL);
    Table Commande (Propriétés à renseigner l'inspecteur d'objet):
    -----------------------------------------------------------
    Mastersource = DsrClent(datasource reliée à la table Client).
    Masterfiels = CODECL
    Ceci devrait resoudre ton problème

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 98
    Points : 50
    Points
    50
    Par défaut
    Merci infinement ...... pour le code que vous m'avez donné.

    ca marche trés bien.

    cordialement.

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

Discussions similaires

  1. Insertion dans 2 tables (Maitre + detaille )
    Par nil dans le forum Bases de données
    Réponses: 11
    Dernier message: 09/11/2005, 21h30
  2. [TTable] Pb avec une relation maitre-detail
    Par kase74 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/10/2005, 10h34
  3. [jdbc/JAVA] maitre/detail ;qlq a un lien!
    Par b_52globemaster dans le forum JDBC
    Réponses: 8
    Dernier message: 03/08/2005, 20h44
  4. [C#] [WinForms] DataGrids maitre / details séparés
    Par aeled dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/03/2005, 12h18
  5. [Ferme] DBLookup fiche detail (relation maitre detail)
    Par boyerf dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/02/2004, 20h12

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