Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Bases de données
Bases de données Vos questions concernant les bases de données (BDE, Access, SqlServer...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 22/12/2012, 20h02   #1
vimpp
Invité de passage
 
Homme
Étudiant
Inscription : septembre 2012
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2012
Messages : 7
Points : 2
Points : 2
Par défaut Fenêtre de connexion

Bonjour,

Jais une table utilisateur elle contient (num,id,pw,type_utilisateur) et jais une fenetre de connexion et 2 fenetres d’accueils, chaque type d’utilisateur a ca propre fenetre d’accueil
Dans ma fenetre de connexion jais un champ pour saisie l’id et un pour saisie pw
Comment faire pour verifier si les informations saisie existe dans ma table et en meme temps verifier le type de compte pour accéder aux fenetres d’accueil?

Merci
vimpp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2012, 10h33   #2
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 219
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 219
Points : 7 287
Points : 7 287
en interrogeant la Table , cela parait évident !
par exemple avec une requête paramètrée

Code :
SELECT TYPE_UTILISATEUR FROM UTILISATEUR WHERE ID=:ID AND PWD=:PWD
comme bien sur vous n'indiquez ni le type de BDD (oserai-je parié que c'est Paradox ) ni les composants de connexion utilisé pour la table (nouveau pari : BDE ) j'attendrais d'en savoir plus .

une piste : Si le couple id/mdp n'existe pas dans la table le champ TYPE_UTILISATEUR sera Null
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2012, 10h59   #3
vimpp
Invité de passage
 
Homme
Étudiant
Inscription : septembre 2012
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2012
Messages : 7
Points : 2
Points : 2
bonjour
pour la base de données j'utilise sql server et pour les composants de connexion
(ADOconnection et ADOquery)
vimpp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2012, 12h52   #4
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 219
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 219
Points : 7 287
Points : 7 287
Ouf , j'ai bien fait de pas jouer au loto

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
var AQ : TAdoQuery;
....
begin
AQ:=TADOQuery.Create(nil);
Try
  AQ.Connection:=ADOconnection1;
 AQ := CreateSQL;
  try
    AQ.SQL.BeginUpdate; 
   AQ.SQL.Add('SELECT TYPE_UTILISATEUR FROM UTILISATEUR WHERE ID=:ID AND PWD=:PWD');
AQ.SQL.EndUpdate;
    AQ.Parameters.ParamByName('ID').value := txtLogin.text;
    AQ.Parameters.ParamByName('PWD').value := txtPassword.text;      AQ.Active:=True;
  If AQ.FieldByName('TYPE_UTILISATEUR').isNull then
     begin
        // traitement erreur user/password  
    end
  else begin
      // identification réussie
  end;   
  AQ.Active:=False;
finally
  FreeAndNil(AQ);
end;
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2012, 17h32   #5
vimpp
Invité de passage
 
Homme
Étudiant
Inscription : septembre 2012
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2012
Messages : 7
Points : 2
Points : 2
bonsoir
lors de l'execution jais le message d'erreur suivant ( identificateur non declaré 'CreateSQL')
vimpp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2012, 10h54   #6
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 219
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 219
Points : 7 287
Points : 7 287
je ne suis pas très fort en ADO (ce n'est pas @buzzleclaire qui dira le contraire ) que je n'utilise pas j'ai peut être oublié un :

AQ.SQL:= AQ.CreateSQL;

la partie
Code :
1
2
3
4
5
6
 AQ := CreateSQL;
  try
    AQ.SQL.BeginUpdate;
...
    AQ.SQL.EndUpdate;   
  end;
je l'ai péché sur le net en cherchant de l'aide sur ADO car je sais que ceux_ci ont des particularités , avec des composants (BDE,ZEOS,DBExpress) je ne me serais pas embêter de la sorte

essayez donc ceci (ce qui était ma première idée , avant de chercher cette fameuse aide)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
var AQ : TADOQuery;
....
begin
AQ:=TADOQuery.Create(nil);
Try
  AQ.Connection:=Connection1;
   AQ.SQL.Add('SELECT TYPE_UTILISATEUR FROM UTILISATEUR WHERE ID=:ID AND PWD=:PWD');
    AQ.Parameters.ParamByName('ID').value := txtLogin.text;
    AQ.Parameters.ParamByName('PWD').value := txtPassword.text;
    AQ.Active:=True;
  If AQ.FieldByName('TYPE_UTILISATEUR').isNull then
     begin
        // traitement erreur user/password  
    end
  else begin
      // identification réussie
  end;   
  AQ.Active:=False;
finally
  FreeAndNil(AQ);
end;
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h55.


 
 
 
 
Partenaires

Hébergement Web