Wenn wir ein Benutzerauthentifizierungsprogramm schreiben, ist es einfach, ASP zum Aufrufen von SQL-Anweisungen zu verwenden, um abzurufen, ob Datensätze vorhanden sind, die den Bedingungen in der Datentabelle entsprechen, und dann ASP für die entsprechende Verarbeitung zu verwenden.
Viele Wege führen nach Rom! Natürlich können wir auch die gespeicherte Prozedur der SQL SERVER-Datenbank verwenden, um diese Funktion einfach zu implementieren. Obwohl es relativ komplex ist, ist seine Effizienzverbesserung offensichtlich, da die gespeicherte Prozedur ein in der Datenbank kompiliertes Programm ist und wir nur ASP verwenden müssen, um die verschiedenen von ihr verwendeten Parameter korrekt zu übergeben.
Dieser Artikel möchte Ihnen hauptsächlich anhand eines einfachen Beispiels vorstellen, wie Sie eine gespeicherte Prozedur mit Parametern in ASP aufrufen. Ich hoffe, Sie können sich davon noch mehr inspirieren lassen.
Der erste Schritt besteht darin, die Datentabelle userinfo zu erstellen
id int(4) nicht null,
vollständiger Name varchar(50) nicht null,
Passwort varchar(20) nicht null,
nikename varchar(50) not null
Der zweite Schritt besteht darin, die gespeicherte Prozedur usercheck zu erstellen
Benutzerprüfung der CREATE-Prozedur
@infullname varchar(50),
@inpassword varchar(50),
@outcheck char(3) AUSGABE
als
falls vorhanden (wählen Sie * aus Benutzerinfo aus, wobei vollständiger Name=@invollständiger Name und Passwort=@inpassword gilt )
Wählen Sie @outcheck='yes'
anders
select @outcheck='no'
Hinweis: Hier wird eine gespeicherte Prozedur mit drei Parametern erstellt. Der erste Parameter @infullname ist ein Eingabeparameter (Benutzername); Parameter @outcheck, dies ist ein Ausgabeparameter (unabhängig davon, ob dieser Benutzer existiert). Bei der Definition des Ausgabeparameters muss nach dem Datentyp das Wort „OUTPUT“ hinzugefügt werden.
Dann verwenden wir die ersten beiden Eingabeparameter, um abzufragen, ob in der SQL-Anweisung ein qualifizierter Benutzer vorhanden ist. Wenn ja, ist der Wert des Ausgabeparameters „Ja“, andernfalls ist er „Nein“.
Der dritte Schritt besteht darin, ein ASP-Programm zu schreiben und die gespeicherte Prozedur
<%
aufzurufen
'Formularübermittlungsflag
if request("ok")=1 then
'Datenbankverbindung herstellen
Setze Comm=Server.CreateObject("ADODB.Command")
Comm.ActiveConnection="DSN=localserver;UID=sa;PWD=;Database=chaiwei"
'Stellen Sie eine gespeicherte Prozedurverbindung mit dem Kommunikationsobjekt her. 4 bedeutet, dass der Verbindungstyp eine gespeicherte Prozedur ist
Comm.CommandText="usercheck"
Comm.CommandType=4
'Erstellen Sie die Parametermethode des Kommunikationsobjekts mit p1 als Namen. Hängen Sie den ersten Parameter fullname an die p1-Sammlung „fullname“ an. Der Name des ersten Parameters namens „200“ Parametertyp varchar Typ „1 Parameterfluss zur Eingabe, die Eingabe ist 1, die Ausgabe ist 2
'50 Parameterlänge 50
'request("fullname") Parameter-Anfangswert zuweisen
Set p1=Comm.CreateParameter("fullname",200,1,50,request("fullname"))
Comm.Parameters.Append p1
'Erstellen Sie die Parametermethode des Kommunikationsobjekts mit p1 als Namen. Hängen Sie das zweite Parameterpasswort an die p1-Sammlung an
'Die Einzelheiten sind die gleichen wie oben.
Set p1=Comm.CreateParameter("password",200,1,20,request("password"))
Comm.Parameters.Append p1
'Erstellen Sie die Parametermethode des Kommunikationsobjekts mit p1 als Namen. Hängen Sie die dritte Parameterprüfung an die p1-Sammlung an
'129 Parametertyp char-Typ
'2 Parameterfluss zur Ausgabe
'3 Parameterlänge 3
Setze p1=Comm.CreateParameter("check",129,2,3)
Comm.Parameters.Append p1
'Führen Sie die gespeicherte Prozedur aus
Comm.Execute
„Schlagen Sie das Ergebnis vor und verarbeiten Sie es.“
if comm("check")="yes" dann
Response.write „Willkommen im System! Benutzername:“ & Comm(“vollständiger Name“) & „Passwort:“ & Comm(“Passwort“)
anders
Response.write „Entschuldigung, Sie haben sich noch nicht registriert!“
end if
'Verbindung freigeben
Legen Sie Comm=nichts fest
else
'Teil bilden
%>