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 :

Comment éviter les doublons dans ma table


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Comment éviter les doublons dans ma table
    Salut

    Je veux éviter les doublons dans ma table(le doublons est testé sur le champ nom de ma table paradox).En réalité le nom d'un enregistrement ne doit exiter qu'une seule fois dans la table.Si l'utilisateur saisi un enregistrement dont le champ nom est déjà exitant ds la table, mon porg doit afficher un message et ne doit pas ajouter ce enregistrement.

    Enfin, je voudrais que les colonnes de mon DBGRID se redimensionne automatiquement à la longeur de la valeur la plus longue(en caractère) du champ affiché par ladite colonne.

    Merci pour toute votre aide

  2. #2
    Rédacteur

    Pour les doublons, je te proposerai ce cours:
    http://sqlpro.developpez.com/cours/doublons/

    Si ta clé est le champ nom, tu peux détecter l'insertion d'un doublon en gérant l'exception qui sera déclenchée lors de l'insertion du second nom identique.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    try
    ...
     MaTable.Post;
    except
     on E : EDataBaseError do ShowMessage(E.Message);
    end;

    par exemple...

    Pour le redimensionnement automatique des cellules, tu peux le faire dans l'évènement OnDrawColumnCell (cherche des exemples d'utilisation dans le forum et dans la FAQ)

    A+

  3. #3
    Membre à l'essai
    jai essayé une méthode qui consiste à utiliser la fonction findkey avant d'insérer l'enregistrement et ça marche;Néanmoins je vais essayé celle là.
    encore merci

  4. #4
    Membre régulier
    Effectivement pour contrôler les doublons, une des solutions consiste à utiliser le FindKey. Néanmoins, concernant votre exemple de nom qui doit être unique fais attention aux vrais doublons. Vous pouvez avoir à traiter deux personnes physiques différentes qui ont le même nom. Dans ce cas, tel que vous avez posé le problème, vous ne pouvez pas. A moins que vous précisez plus votre problème.

###raw>template_hook.ano_emploi###