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ème avec la clé


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 126
    Points : 77
    Points
    77
    Par défaut Problème avec la clé
    salut tout le monde
    j'ai un petit probleme avec la clé
    supposons que j'ai trois table
    piece(id_piece,designation, ....)
    client(id_client, nom, adresse,....)
    vente(id_piece(*),id_client(*),date(*),quantite,....)
    la table vente est association des deux table client, et piece, jai ajoute la date comme clé prémaire jen ai besoin
    bref mon problem c'est que on peut pas avoir deux entre avec la meme clé
    ca je le sais mais es que il y une methode pour faire une mise a jour si l'expection cle violation se declanche alors on passe a mettre a jour les donnée es que c'est possible ??????????

    Meci D'avence

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    dabort si c'est possible je te donne une autre idée (bon livraiosn)
    client( code *, rs, ...)
    piéce(code*,libelle,qtestock,pu,...)
    BL(code*,CodCli, date, mt,ttva,...)
    lignBL(CBL*,CPiéce*,qte,PU,tva,...)
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  3. #3
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 126
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par edam Voir le message
    dabort si c'est possible je te donne une autre idée (bon livraiosn)
    client( code *, rs, ...)
    piéce(code*,libelle,qtestock,pu,...)
    BL(code*,CodCli, date, mt,ttva,...)
    lignBL(CBL*,CPiéce*,qte,PU,tva,...)
    vraiment j'ai rien compri :s
    merci comme meme

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    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 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Il te disait simplement de rajouter une table pour contenir plusieurs ventes avec la même pièce, le même client et la même date.

    C'est une bonne idée selon moi.
    Une autre bonne idée serait de ne pas mettre ta date dans la clé primaire mais plutôt d'ajouter un champ numero et de l'utiliser à la place (pour te retrouver avec une clé composée de id_piece, id_client et numero

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    piece(id_piece,designation, ....)
    client(id_client, nom, adresse,....)
    vente(id_piece(*),id_client(*),numero(*),date,quantite,....)
    il te suffit d'incrémenter le numero et le tour est joué.

  5. #5
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 126
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par popo Voir le message
    Il te disait simplement de rajouter une table pour contenir plusieurs ventes avec la même pièce, le même client et la même date.

    C'est une bonne idée selon moi.
    Une autre bonne idée serait de ne pas mettre ta date dans la clé primaire mais plutôt d'ajouter un champ numero et de l'utiliser à la place (pour te retrouver avec une clé composée de id_piece, id_client et numero

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    piece(id_piece,designation, ....)
    client(id_client, nom, adresse,....)
    vente(id_piece(*),id_client(*),numero(*),date,quantite,....)
    il te suffit d'incrémenter le numero et le tour est joué.
    merci pour la réponse mais je veux bien savoir comment faire une mise a jouer a une entre qui existe déjà si tu vois ce que je veux dire

  6. #6
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 126
    Points : 77
    Points
    77
    Par défaut
    salut tout le monde alors qlq peut me dire comment on fais une mise a jour a des entre a laide de la clé ???????

  7. #7
    Membre éclairé

    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 837
    Points
    837
    Par défaut
    ca je le sais mais es que il y une methode pour faire une mise a jour si l'expection cle violation se declanche alors on passe a mettre a jour les donnée es que c'est possible ??????????
    Ce n'est pas une bonne idee. Arrange-toi pour qu'il n'y ait jamais deux enregistrements avec la meme clef, reporte-toi aux reponses precedentes pour cela.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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