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 :

Form login sql & delphi


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 47
    Points : 28
    Points
    28
    Par défaut Form login sql & delphi
    Bonjour tout le monde , j'ai une petit souci si vous pouvez m'aider

    en ce moment je développe une application sous delphi , j'ai crée ma base de donnée ainsi que les tables et utilisateurs et les connexion sur sql server 2008
    le probleme c'est que je bloque sur la form d'authentification sur delphi
    j'ai mis 2 edit , et il me faut un bouton 'valider'
    j'ai pas le code source de se bouton
    svp aidez moi

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Est ce que tu as un exemple de code que tu as fait ? Quel SGBD ? Derrière le bouton Valider il faut faire une requête qui va regarder si le tuple identifiant-mot de passe existe. Si le mot de passe est crypté en base il ne faut pas oublier le faire aussi dans la requête.

    Soit tu récupères l'identifiant de l'utilisateur, généralement la clé primaire de la table et tu initialises tes objets, variables globales ou autre..

    Soit pour tester tu peux simplement faire un Count et voir si la requête te retourne quelque chose (1).

    Si l'authentification est correcte tu peux afficher l'écran principal de ton application sinon tu restes bloqué et tu boucles sur ta fenêtre actuelle.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 47
    Points : 28
    Points
    28
    Par défaut
    Bonsoir ,
    c'est exactement mais j'arrive pas a écrire sa . je suis perdu

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 47
    Points : 28
    Points
    28
    Par défaut
    j'ai essayé sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If not((users.locate('user_name',edit1.text,[])and (users.locate('motpasse',edit2.text,[]) )then show message('mot de passe incorrecte') else
    Form2.show

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 163
    Points : 41 346
    Points
    41 346
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    le Locate n'est pas fait pour ça, du moins sous cette forme car telle qu'écrite il s'agit de deux recherches différentes et non la recherche du couple utilisateur/mot de passe. De plus pour ce faire vous ouvrez la table entière ce qui n'est pas vraiment une bonne chose il vaut mieux comme le dit Retwas passer par une requête.

    Ne sachant pas quel set de composants d'accès à la base est utilisé, ni la version de Delphi, ni encore si le motdepasse est crypté je propose quelque chose de générique
    comme il y a un appel vers une autre forme (ce qui n'est pas très joli) je propose même une version plus "propre" en utilisant une fonction déclarée dans l'évènement. Bien sur il faudra remplacer le TQuery par le bon composant et faire le nécessaire pour que celui-ci soit connecté à la base , c'est donc un code plus que générique que je propose

    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
    procedure ValiderOnClick(Sender : TObject);
      function  CheckUser : Boolean
      var AQuery : TQuery
      begin
      AQuery:=TQuery.Create(nil);
      try
        AQuery.Connexion:=Database1; // à modifier en fonction du type de composant
        AQuery.SQL.Text:='SELECT USER_NAME,MOTDEPASSE FROM USERS WHERE USER_NAME=:U AND MOTDEPASSE=:MDP'; 
        AQuery.ParamByName('U').asString:=Edit1.Text;  // à modifier en fonction du type de composant
        AQuery.ParamByName('MDP').asString:=Edit2.Text;  // à modifier en fonction du type de composant
        AQuery.Active:=True;
        result:=not AQuery.FieldByName('USER_NAME').isNull; // @retwas pas besoin du count ;)
        AQuery.Close;
      finally
        AQuery.Free;
      end;
     end;
    begin
    if not CheckUser then  showmessage('mot de passe incorrect')
                            else  Form2.show; 
    end;
    J'ai délibérément mis un SQL explicite, deux colonnes récupérées mais un SQL de ce genre
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 1 FROM USERS WHERE USER_NAME=:U AND MOTDEPASSE=:MDP
    aurait pu fonctionner

    petit ps. Attention à l'orthographe, sans être tatillon, il y a des mots et de la grammaire qui choquent !
    mot de passe incorrecte
    base de données
    de ce bouton
    etc...
    c'est peut être pas grand chose que l'orthographe et la grammaire mais dans une application pro cela choquera le client final , prenez donc de bonnes habitudes

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 47
    Points : 28
    Points
    28
    Par défaut adoconnexion
    Bonjour ,
    merci d'avoir répondu .
    tout d'abord j'utilise Delphi 7 & Sql server 2008
    Les composants que j'ai utilisés sur cette forme sont : adoconnexion
    Merci .

Discussions similaires

  1. Forme login en Delphi
    Par slakode dans le forum Débuter
    Réponses: 2
    Dernier message: 20/08/2014, 16h32
  2. sql avec delphi
    Par k_boy dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/07/2004, 22h39
  3. Pbl sql et delphi
    Par rippoz dans le forum Bases de données
    Réponses: 5
    Dernier message: 29/04/2004, 17h02
  4. probleme sql avec delphi
    Par lil_jam63 dans le forum Bases de données
    Réponses: 7
    Dernier message: 25/02/2004, 04h32

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