PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → [WB15] Récupérer le resultat d'une requete dans une variable
[WB15] Récupérer le resultat d'une requete dans une variable
Débuté par adi, 12 mai 2010 12:22 - 1 réponse
Posté le 12 mai 2010 - 12:22
Bonjour,

J’aimerai savoir comment récupérer la valeur d’une requête SQL et la stocker dans une variable. Je m’explique :
J’ai un fichier « Utilisateurs » qui a une structure du genre :

Id_utilisateur
Nom
Prénom
Login
Password
Est_admin
Actif

J’ai une requête SQL du genre :
SELECT
Utilisateurs.NomUtilisateur AS NomUtilisateur,
Utilisateurs.Motdepasse AS Motdepasse,
Utilisateurs.Nom AS Nom
Utilisateurs.Prénom AS prénom
FROM
Utilisateurs
WHERE
Utilisateurs.NomUtilisateur = {Param1}
AND Utilisateurs.Motdepasse = {Param2}

Quand l’utilisateur se présente sur site, il doit entrer son login et le mot de passe et cliquer sur le bouton « envoyer ». A ce moment, une routine effectue la recherche dans la BD.
Le code est le suivant :
SI PAS HExécuteRequête(REQ_Identification,SAI_Login,SAI_MotDePasse) ALORS
Erreur("erreur dans la requete SQL" + RC + HErreurInfo())
RETOUR
FIN
SI HLitPremier(REQ_Identification) = Faux ALORS
Info("L'utilisateur spécifié pas trouvé")
HRAZ(REQ_Identification)
RAZ()
SINON

gsIdéntifié = Vrai
//Et c’est ici que j’ai un soucis. Comment récupérer la valeur du “Nom” de la requete executée.
//Le problème est ICI
gsThis_nom=REQ_Identification.Nom <-
gsThis_prénom = REQ_Identification.prénom <-
PageAffiche(PAGE_Menu)
FIN

Le but étant de pouvoir garder la valeur de cette variable globale pour pouvoir effectuer la vérification si utilisateur est identifié ou pas ou de lui souhaiter bonjour personnalisé etc…

Avez-vous une idée de comment je pourrai faire cela et est-ce que la manière dont je fais les choses est la meilleure ?

Merci pour votre aide


.
Posté le 12 mai 2010 - 13:35
Bon,

finalement j'ai trouvé et c'était très simple....
Il fallait juste faire un hlitpremier afin que la réquete s'initialise pour que le resultat soit "visible". Je pensais que le prémier appel suffirai, mais apparement ce n'est pas vraie. Donc un deuxième "hlipremier" suffit pour que "Utilisateurs.Nom" soit "atteignable"...

Voici le code:
SI HLitPremier(REQ_Identification) = Faux ALORS
Info("L'utilisateur spécifié pas trouvé")
RAZ()
SINON
gsIdéntifié = Vrai
HLitPremier(REQ_Identification)
gsThis_nom=REQ_Identification.Nom
gsThis_prénom=REQ_Identification.Prénom
PageAffiche(PAGE_Menu)
FIN