Lorsque nous écrivons un programme d'authentification utilisateur, il est facile d'utiliser ASP pour appeler des instructions SQL afin de déterminer s'il existe des enregistrements qui correspondent aux conditions dans la table de données, puis d'utiliser ASP pour effectuer le traitement associé.
Tous les chemins mènent à Rome ! Bien entendu, on peut également utiliser la procédure stockée de la base de données SQL SERVER pour implémenter facilement cette fonction. Bien qu'elle soit relativement complexe, son amélioration en efficacité est évidente, car la procédure stockée est un programme qui a été compilé dans la base de données, et il suffit d'utiliser ASP pour transmettre correctement les différents paramètres utilisés par celle-ci.
Cet article souhaite également principalement vous présenter comment appeler une procédure stockée avec des paramètres en ASP à travers un exemple simple. J'espère que vous pourrez vous en inspirer davantage.
La première étape consiste à créer la table de données userinfo
id int(4) non nul,
nom complet varchar(50) non nul,
mot de passe varchar(20) non nul,
nikename varchar(50) not null
La deuxième étape consiste à créer la procédure stockée usercheck
Procédure CREATE usercheck
@infullnamevarchar(50),
@inpasswordvarchar(50),
@outcheck char(3) SORTIE
comme
s'il existe (sélectionnez * dans userinfo où fullname=@infullname et password=@inpassword )
select @outcheck='oui'
autre
select @outcheck='no'
Remarque : Une procédure stockée avec trois paramètres est créée ici. Le premier paramètre @infullname est un paramètre d'entrée (nom d'utilisateur) ; le deuxième paramètre @inpassword est également un paramètre d'entrée (mot de passe) ; paramètre @outcheck, il s'agit d'un paramètre de sortie, (que cet utilisateur existe), lors de la définition du paramètre de sortie, il faut ajouter le mot "OUTPUT" après le type de données.
Ensuite, nous prenons les deux premiers paramètres d'entrée pour récupérer s'il y a un utilisateur qualifié dans l'instruction SQL. Si c'est le cas, la valeur du paramètre de sortie est "oui", sinon elle est "non".
La troisième étape consiste à écrire un programme ASP et à appeler la procédure stockée
<%
'Drapeau de soumission du formulaire
if request("ok")=1 then
'Établir une connexion à la base de données
Définir Comm=Server.CreateObject("ADODB.Command")
Comm.ActiveConnection="DSN=localserver;UID=sa;PWD=;Database=chaiwei"
'Établir une connexion de procédure stockée avec l'objet comm, 4 signifie que le type de connexion est une procédure stockée
Comm.CommandText="usercheck"
Comm.CommandType=4
'Créez la méthode de paramètre de l'objet comm avec p1 comme nom. Ajouter le premier paramètre fullname à la collection p1 'fullname' Le nom du premier paramètre appelé '200 Type de paramètre varchar type '1 Flux de paramètres vers l'entrée, l'entrée est 1, la sortie est 2
'50 longueur du paramètre 50
'request("fullname") Attribuer la valeur initiale du paramètre
Set p1=Comm.CreateParameter("fullname",200,1,50,request("fullname"))
Comm.Parameters.Append p1
'Créez la méthode paramètre de l'objet comm avec p1 comme nom. Ajouter le mot de passe du deuxième paramètre à la collection p1
'Les détails sont les mêmes que ci-dessus
Set p1=Comm.CreateParameter("password",200,1,20,request("password"))
Comm.Parameters.Append p1
'Créez la méthode paramètre de l'objet comm avec p1 comme nom. Ajouter la troisième vérification de paramètre à la collection p1
'129 Type de paramètre type de caractère
'2 Flux de paramètres vers la sortie
'3 Longueur du paramètre 3
Définir p1=Comm.CreateParameter("check",129,2,3)
Comm.Parameters.Append p1
'Exécuter la procédure stockée
Comm.Exécuter
'Proposer le résultat et le traiter
si comm("check")="oui" alors
réponse.write "Bienvenue dans le système ! Nom d'utilisateur :" & comm("nom complet") & "Mot de passe :" & comm("mot de passe")
autre
réponse.write "Désolé, vous n'êtes pas encore inscrit !"
terminer si
'Libérer la connexion
Définir Comm = rien
sinon
"fait partie"
%>