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 :

pb violation de clé


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Par défaut pb violation de clé
    bonjour TLM

    pourquoi j'ai cette erreur : violation de clé.
    j'ai fait un select (queyr1) puis je boucle dans cette requête pour inserer depuis le contenu du requête dans une table.

    le programme s'excécute et j(ai pu même voir le resultat depuis l'explorateur
    mais j'ai le message d'erreur pour violation de clé

    j'utilise Delphi6 et BD Paradox

    voici mon code d'insertion dans ma table (qui est vide au départ)
    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
    22
    23
    24
    25
    26
    27
    28
    29
     
    query1.Close  ;
    query1.sql.clear;
    query1.Sql.Text := 'Select DISTINCT EXNV, EXORIG, EXDEST from Expl';
     
    query1.Active := True;
    If query1.RecordCount > 0 Then
         Begin
         query1.FetchAll;
         query1.First;
         While not query1.eof Do
             Begin
             datamodule2.Tetatsperchgtnvol.Insert;
             nv := query1.FieldByName('EXNV').AsString;
             orig := query1.FieldByName('EXORIG').AsString;
             dest := query1.FieldByName('EXDEST').AsString;
             datamodule2.TetatsperchgtnvolNVOL.Value := nv;
             datamodule2.TetatsperchgtnvolORIG.Value := orig;
             datamodule2.TetatsperchgtnvolDEST.Value := dest;
             query1.Next;
             datamodule2.Tetatsperchgtnvol.Post;
             datamodule2.Tetatsperchgtnvol.Next;
             End;
          End;
     
    query2.Close  ;
    query2.sql.clear;
    query2.sql.Add ('select * from etatsperchgtnvol');
    query2.open;

  2. #2
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Par défaut
    Bonjour TLM

    bon j'ai trouvé la faille de mon problème :

    c'était dans la table où j'ai déclaré NVOL comme index primaire, puis il y'a eu deux valeurs pour NVOL qui se resemble et c'était là le problème lors d'inserion. Donc il faut éviter de déclarer un index primaire où il y'a le risque d'avoirs des même valeurs pour ce champs.

    Bon voilà le problème et réglé

    Merci pour ceux qui ont jetéun coup d'oeil sur mon problème

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

Discussions similaires

  1. Violation d'accès apres Close
    Par SegmentationFault dans le forum Bases de données
    Réponses: 3
    Dernier message: 05/07/2004, 16h46
  2. [DELPHI][PROECEDURES STOCKES] Access violation
    Par All Jinx dans le forum Bases de données
    Réponses: 6
    Dernier message: 14/05/2004, 15h57
  3. Récupere erreur de Violation de kley unique
    Par neness dans le forum Bases de données
    Réponses: 7
    Dernier message: 26/02/2004, 19h26
  4. Réponses: 3
    Dernier message: 22/05/2002, 09h37

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