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 :

chercher la validité des donnée dans une BD paradox


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 142
    Points : 69
    Points
    69
    Par défaut chercher la validité des donnée dans une BD paradox
    bonjour à tous
    je suis debutante en delphi et j'ai utilisé paradox pour les base de donées dans mon application.j'ai 2 tables
    user(nom,id);
    password(id,motpass)
    j'ai met dans le form: 2 edits un pour le nom et l'autre pour le mot de passe et un boutton pour valider.je vous demande comment vérifier que le nom d'utilisateur et le mot de passe sont correct à partir des tables précédentes?aidez moi svp c'est urgent.
    merci d'avance.

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    - Soit tu utilises le locate des TxxxTables.
    - Soit tu fais une requête pour chaque table en recherchant le nom et le mot de passe

    Dans les deux cas, il faut que le user et le password soient trouvés tous les deux.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 142
    Points : 69
    Points
    69
    Par défaut
    j'ai ecri ce code dans l'evenement onclick de boutton ok:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var
    option : TLocateOptions;
    begin
     
     Option := [loPartialKey]; // Rajout de l'option "ne fait pas attention à la casse"
      if form2.table1.Locate('nom',edit1.text,Option) and form2.table2.Locate('motdepass',edit2.text,Option)then
     form2.show;
    end;
    mais il m'affiche ce message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    projet raised exception class EDataBaseError with message 'table1':cannot perform this operation on a closed dataset.process stopped.
    aidez moi svp c'est urgent.

  4. #4
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut


    comme le message d'erreur l'indique, tu dois t'assurer que la table est ouverte avant d'appeler la méthode Locate du dataset.
    de plus l'option pour ne pas tenir compte te la casse c'est loCaseInsensitive.
    autre chose, normalement la comparaison d'un mot de passe devrait tenir compte de la casse non ?
    qu'à cela ne tienne, voici un bout de code qui devrait fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var
    option : TLocateOptions;
    begin
      option := [loCaseInsensitive]; // Rajout de l'option "ne fait pas attention à la casse"
      if form2.table1.Locate('nom;motdepass',[edit1.text, edit2.text],Option) then
        form2.show;
    end;
    remarque que dans le premier paramètre de la fonction tu peux ajouter les champs servant de critère de localisation séparés par un point virgule, et utiliser un tableau dynamique pour les valeurs. pour plus d'infos, consulter l'aide delphi.

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 142
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par evarisnea Voir le message


    comme le message d'erreur l'indique, tu dois t'assurer que la table est ouverte avant d'appeler la méthode Locate du dataset.
    de plus l'option pour ne pas tenir compte te la casse c'est loCaseInsensitive.
    autre chose, normalement la comparaison d'un mot de passe devrait tenir compte de la casse non ?
    qu'à cela ne tienne, voici un bout de code qui devrait fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var
    option : TLocateOptions;
    begin
      option := [loCaseInsensitive]; // Rajout de l'option "ne fait pas attention à la casse"
      if form2.table1.Locate('nom;motdepass',[edit1.text, edit2.text],Option) then
        form2.show;
    end;
    remarque que dans le premier paramètre de la fonction tu peux ajouter les champs servant de critère de localisation séparés par un point virgule, et utiliser un tableau dynamique pour les valeurs. pour plus d'infos, consulter l'aide delphi.
    Merci beaucoup sa fonctionne bien

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

Discussions similaires

  1. Chercher des données dans une Table
    Par olivier45fr dans le forum Access
    Réponses: 5
    Dernier message: 03/05/2011, 15h48
  2. comment importer des données dans une table paradox
    Par pierrot67 dans le forum Bases de données
    Réponses: 6
    Dernier message: 02/08/2007, 18h32
  3. Réponses: 4
    Dernier message: 19/09/2005, 15h59
  4. [SQL server] Comment Fusionner des données dans une requête
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/07/2005, 15h24
  5. Réponses: 2
    Dernier message: 15/06/2005, 17h32

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