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 :

Violation de clé en edit sur Bdd Paradox


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut Violation de clé en edit sur Bdd Paradox
    Bonjour,

    Je susi en train de refondre une application (delphi7 paradox) et j'ai un probl_ème avec une MaTable.post j'ai le message suivant :

    "Violation de clé", le message est claire mais je ne comprends pas pourquoi il se produit.
    en effet il me sembe que je suis en edit (modification et pas en insert )

    PS: habiltuelement j'utilise SQL pour faire de ces manip (c'est plus souple) mais dans ce programme il utilise que les composants TTable , TDatSource

    voici le code :

    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
     
      TRDV := TTable.Create(self);
      TRDV.Active := false;
      TRDV.DatabaseName := session.NetFileDir;
      TRDV.TableName := 'TR_RDV.db';
      TRDV.Active := true;
      if EdidRdv.text ='' then TRDV.Append
      else TRDV.Edit;
      TRDV['UTIL'] :=  CBATraiterPar.Text;
      TRDV['HEUREDEB'] :='08:00:00';
      TRDV['HEUREFIN'] :='08:00:00';
      TRDV['DATDEB'] := DBEADatDebut.Text;
      TRDV['DATFIN'] := DBEADatFin.Text;
      TRDV['TYP'] := DBCBAOBJET.text;
      TRDV['LIEU'] := DBEAImm.text;
      TRDV['NOTES'] := DBMNOTES.text;
      TRDV['IMM'] := FMajTravaux.Code;
      TRDV['FVU'] := false;
      TRDV['ALARME'] := '00:30:00';
      TRDV['IDTRAVAUX'] := idRdv;
      TRDV.Post;
      FreeAndNil(TRDV);
      result  := idRdv;
    Si vous avez une idée je suis prenneur

    Pour info la clés d ela table est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UTIL
    DATDEB
    DATFIN
    HEUREDEB
    JOUR

    Cordialement
    Qays

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      // ...
      if EdidRdv.text ='' then TRDV.Append
      else TRDV.Edit;
      TRDV['IDTRAVAUX'] := idRdv;
      // ...
      TRDV.Post;
    Je suppose que la clé primaire de ta table est IDTRAVAUX. Non ?

    Lors d'une édition tu ne te positionnes pas sur l'enregistrement à modifier !!?
    Un locate sur IDTRAVAUX me semble nécessaire avant d'effectuer une édition.

    @+ Claudius

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    Merci de votre réponse, En fait non, il ne fait du tout parti de la clé(c'et une nouvelle colonne), effectivement je ne suis pas positionné sur le record (vielle habitude de la gestion pas SQL)

    je vais essayer de faire le locate

    Merci

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    A y est, j'ai fait le locate,

    Merci

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

Discussions similaires

  1. Ctrl d'acces sur BDD Paradox
    Par akli_agha dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/07/2006, 23h33
  2. [Installation]SQL Server 2005 Express Edition sur XP home
    Par Médiat dans le forum MS SQL Server
    Réponses: 15
    Dernier message: 06/08/2005, 18h22
  3. SQL server standart edition sur un serveur bi processeur
    Par alpachico dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/08/2005, 09h46
  4. Export Acces->Excel Requette sur bdd oracle
    Par cedrickb dans le forum Access
    Réponses: 2
    Dernier message: 31/12/2004, 14h27
  5. [Débutant] Tester une connection sur bdd
    Par lando dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/09/2003, 14h37

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