Когда мы пишем программу аутентификации пользователя, легко использовать ASP для вызова операторов SQL, чтобы узнать, есть ли записи, соответствующие условиям в таблице данных, а затем использовать ASP для выполнения соответствующей обработки.
Все дороги ведут в Рим! Конечно, мы также можем использовать хранимую процедуру базы данных SQL SERVER, чтобы легко реализовать эту функцию. Хотя она относительно сложна, повышение ее эффективности очевидно, поскольку хранимая процедура представляет собой программу, скомпилированную в базе данных, и нам нужно использовать ASP только для правильной передачи различных используемых ею параметров.
В этой статье также основное внимание уделяется тому, как вызвать хранимую процедуру с параметрами в ASP на простом примере. Надеюсь, вы сможете получить от этого больше вдохновения.
Первым шагом является создание таблицы данных userinfo.
идентификатор int(4) не равен нулю,
полное имя varchar(50) не равно нулю,
пароль varchar(20) не равен нулю,
nikename varchar(50) not null
Второй шаг — создать хранимую процедуру usercheck.
СОЗДАТЬ процедуру проверки пользователя
@infullname varchar(50),
@inpassword varchar(50),
@outcheck char(3) ВЫВОД
как
если существует (выберите * из информации о пользователе, где полное имя=@infullname и пароль=@inpassword )
выберите @outcheck='да'
еще
select @outcheck='no'
Примечание. Здесь создается хранимая процедура с тремя параметрами. Первый параметр @infullname является входным параметром (имя пользователя); второй параметр @inpassword также является входным параметром (пароль); параметр @outcheck, это выходной параметр, (если этот пользователь существует), при определении выходного параметра после типа данных необходимо добавить слово «ВЫХОД».
Затем мы берем первые два входных параметра, чтобы узнать, есть ли в операторе SQL квалифицированный пользователь. Если есть, значение выходного параметра — «да», в противном случае — «нет».
Третий шаг — написать программу ASP и вызвать хранимую процедуру
<%
'Флаг отправки формы
if request("ok")=1 then
'Установить соединение с базой данных
Установить Comm=Server.CreateObject("ADODB.Command")
Comm.ActiveConnection="DSN=localserver;UID=sa;PWD=;Database=chaiwei"
'Установить соединение хранимой процедуры с объектом связи, 4 означает, что тип соединения является хранимой процедурой
Comm.CommandText="проверка пользователя"
Comm.CommandType=4
'Создайте метод параметра объекта связи с именем p1. Добавить полное имя первого параметра в коллекцию p1 «полное имя». Имя первого параметра с именем «200 Тип параметра varchar type '1 Поток параметров на вход, вход — 1, выход — 2
'50 длина параметра 50
'request("полное имя") Присвоить начальное значение параметра
Set p1=Comm.CreateParameter("полное имя",200,1,50,request("полное имя"))
Параметры связи.Добавить p1
'Создайте метод параметра объекта связи с именем p1. Добавьте второй пароль параметра в коллекцию p1.
'Специфика та же, что и выше.
Set p1=Comm.CreateParameter("пароль",200,1,20,request("пароль"))
Параметры связи.Добавить p1
'Создайте метод параметра объекта связи с именем p1. Добавьте третью проверку параметра в коллекцию p1.
'129 Тип параметра Тип символа
'2 Поток параметров на выход
'3 Длина параметра 3
Set p1=Comm.CreateParameter("проверка",129,2,3)
Параметры связи.Добавить p1
'Запускаем хранимую процедуру
Комм.Выполнить
'Предложите результат и обработайте его
если comm("check")="да" тогда
response.write "Добро пожаловать в систему! Имя пользователя:" & comm("полное имя") & "Пароль:" & comm("пароль")
еще
response.write "Извините, вы еще не зарегистрировались!"
end if
'Освободить соединение
Установить связь = ничего
else
'формирует часть
%>