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 :

Problèmes d'effacement en cascade (HELP !)


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 33
    Points : 20
    Points
    20
    Par défaut Problèmes d'effacement en cascade (HELP !)


    Je bosse sur Delphi avec les composants ADO.

    J'ai un TADODataSet qui contient cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM tb_associative, tb_langues
    WHERE langue_pk = associative_fk_langue_pk
    Ce DataSet me permet d'afficher les langues dont la pk figure dans la table associative.

    Jusqu'ici rien de très sorcier.


    Si je souhaire supprimer une de ces association, je fait DataSet.delete; (qui me supprime l'enregistrement en cours).

    L'enregistrement est supprimer dans ma table associative (c'est ce que je voulais).
    Mais la langue est effacée de ma table tb_langue ce qui me pose un GROS problème !!!

    Comment puis-je faire pour que j'efface l'enregistrement de la table associative sans que Delphi me supprime ma langue ???



    ZD
    Vivre tue !

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 116
    Points : 67
    Points
    67
    Par défaut Re: Problèmes d'effacement en cascade (HELP !)
    Citation Envoyé par zarbydigital

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM tb_associative, tb_langues
    WHERE langue_pk = associative_fk_langue_pk
    Ce DataSet me permet d'afficher les langues dont la pk figure dans la table associative.

    ZD
    Je ne pense pas !
    tu devrais faire ta requête de cette matière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    SELECT tb_associative.champ1, tb_associative.champ2,  tb_langues.champ1
    FROM tb_langues INNER JOIN tb_associative ON tb_langues.langue_pk = tb_associative.associative_fk_langue_pk;
    Je ne sais pas si c'est ainsi que devraient être jointes tes tables, Mais ton problème sera résolu avec une jonction "INNER JOIN"

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    Merci de ta réponse, toutefois ta solution ne résoud pas mon problèmes.

    Je n'ai peut-etre pas été très clair sur mon problème. Voici en plus clair ce qui ce passe :

    J'ai une table tb_film qui contient des film d'un entreprise qui loue des DVD
    J'ai une table tb_langue qui sont les différentes langue de sous titrage des films
    J'ai une table associative as_soustitrage qui contient les associations entre mes films et les langues de sous titrage.

    Dans mon application quand je parametre les langues de sous titrage des films j'ai un TDBGrid affiche les langues (francais, allemand, ...) qui est lié à un TADODataSet par TDataSource.

    Mon TDataSet contient la requête que j'ai donné plus haut (la tienne maintenant).

    Si je supprime un des enregistrement du DataSet, il va me supprimer
    1. Dans ma table as_soustitrage
    - les deux enregistrement qui font l'association (c'est ce que je veux)
    2. Dans ma table tb_langue
    - La langue qui était associé dans la table as_soustitrage. Ce qui met le gros bordel dans pour tout les autre films.

    Une solution ???

    [/b]
    Vivre tue !

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/07/2008, 09h23
  2. problème pour effacer
    Par looping dans le forum Windows XP
    Réponses: 4
    Dernier message: 17/06/2007, 19h17
  3. Problème pour effacer un élément fait par canvas
    Par matech dans le forum Langage
    Réponses: 4
    Dernier message: 20/04/2006, 23h35
  4. [VB]Problème d'effacement dans une TextBox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 24/01/2006, 17h55
  5. [Eclipse 3.1.1]Problèmes d'installation D'API, help !
    Par Baptiste Wicht dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 13/01/2006, 16h00

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