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

Paradox Discussion :

Pb d'auto-incrément sur une table v7


Sujet :

Paradox

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Pb d'auto-incrément sur une table v7
    Bonjour

    Je suis face à un gros gros problème avec une appli utilisant des tables Paradox (v7).
    A l'ajout d'un enregistrement, il me répond 'violation de clé' . Cette table en question possède un champs indexé avec auto-incrément. Hors normalement, dans ce genre de configuration, on ne doit pas avoir de problème d'insertion.

    Après Etude, je me suis rendu compte qu'à un moment donné, l'auto-incrément saute complètement.

    Donc ma question est de savoir si quelqu'un à déjà rencontré ce problème, et si une solution existe !!!

    Merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Mars 2002
    Messages : 230
    Points : 127
    Points
    127
    Par défaut
    Je fais toujours:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Tbl.Last;
    Tbl.Insert;
    si ton current est 5 et que tu inséres, il va écrire 6. et si 6 est lá....crac.
    Je ne suis pas gourou, mais je n'ai pas ce genre de probléme de cette facon.
    A+
    Sincérement
    Jean-Christophe

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Donc, le problème serait un soucis de code et non un bug de paradox ?

  4. #4
    LFE
    LFE est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 95
    Points : 2 463
    Points
    2 463
    Par défaut
    ou un probleme de corruption de Fichier

    J'ai deja eu le cas, mais je ne travaille pas avec des Insert, uniquement des Append....

    un rebuild de la table a tout remis en place.

  5. #5
    Candidat au Club
    Inscrit en
    Octobre 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Et qu'appelles tu un rebuild de la table ?

  6. #6
    LFE
    LFE est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 95
    Points : 2 463
    Points
    2 463
    Par défaut
    Dans Corel Paradox, tu as dans les menu une option de reparation des tables

    Je regarde demain au bureau pour te dire exactement ou elle se trouve.

  7. #7
    Candidat au Club
    Inscrit en
    Octobre 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Le pb, c'est d'avoir Corel Paradox car, moi, je travail avec le module de base de données de Delphi 6.
    Donc si tu as quelque chose à me proposer ...

    Merci d'avance

  8. #8
    LFE
    LFE est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 95
    Points : 2 463
    Points
    2 463
    Par défaut
    Database Desktop, menu Tools/utilities / Restructure.

    Tu ne change rien à la structure , tu coches 'pack Table'
    tu cliques ensutie sur Save.

    En ayant bien entendu fait une copie de ta table au préalable.

    Ca m'a deja aide une fois ou l'autre, mais rien de tel que Corel Paradox.

  9. #9
    Futur Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    J'ai eu le même bleme mais le fait de restructurer ne l'a pas résolu.

    J'ai donc été obligé de dumper le fichier .DB comme suit:
    - j'ai vu que le N° de la derniere valeur champ autoincrementé est à 32561.
    - J'ai ouvert le fichier .DB dans un éditeur héxadécimal.
    - Je me suis positionné sur l'octet 49h et 50h (qui est décrit comme emplacement de la valeur courante de l'autoincfield dans un fichier db), l'ai lu la valeur actuelle du champ qui était à 32488. DOnc effectivement, j'ai un problème à chaque ajout.
    - J'ai donc décidé de mettre cette valeur à 32562 (converti au préalable en en Hexa) de manière à ce que la prochaine valeur soit supérieure à la valeur maximale de la clé.
    - J'ai enregistré et quitté.
    - J'ai testé et ca marche !

    Bien sûr, les sauvegardes ont été faites avant, et si tu veux l'approfondir, consulte le document "Paradox survival guide" de ce forum.

    a+

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Dernier petit truc :

    Pour les tables paradox qui commencent à avoir une taille conséquente, je vous conseille de les restructurer en changeant la taille de blocks à 32.

    ceci est indispensable pour les grosses tables car sinon on à plein de désagréments comme cette histoire d'auto incrément.

    Par contre il faut absolument faire une copie de votre table avant,
    vider la table d'origine (c'est plus rapide en plus)
    La restructurer en mettant type de table : Paradox 7 et nb de block : 32

    et ensuite ajouter les enregistrements de la sauvegarde à votre table nouvellement restructurée.
    sinon, et ca le fait à tout les coups sur les grosses tables, vos données sont corrompues.

    voilou.
    Aide toi, le ciel t'aidera.

Discussions similaires

  1. [Doctrine] auto référence sur une table
    Par cdm1024 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/06/2009, 17h18
  2. Requete Auto jointure sur une table
    Par Guillaume 78 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/11/2007, 09h26
  3. [MySQL] creation de formulaire auto basé sur une table
    Par mj.mj12 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/11/2007, 14h31
  4. [JTable] Raccourci clavier sur une Table
    Par sylvain_2020 dans le forum Composants
    Réponses: 5
    Dernier message: 05/07/2007, 09h01
  5. Recordcount sur une table filtrée
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 15/03/2004, 00h05

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