عندما نكتب برنامج مصادقة مستخدم، فمن السهل استخدام ASP لاستدعاء عبارات SQL لاسترداد ما إذا كانت هناك سجلات تطابق الشروط في جدول البيانات، ثم استخدام ASP لإجراء المعالجة ذات الصلة.
كل الطرق تؤدي إلى روما! بالطبع، يمكننا أيضًا استخدام الإجراء المخزن لقاعدة بيانات SQL SERVER لتنفيذ هذه الوظيفة بسهولة. على الرغم من أنه معقد نسبيًا، إلا أن تحسين كفاءته واضح، لأن الإجراء المخزن هو برنامج تم تجميعه في قاعدة البيانات، ونحتاج فقط إلى استخدام ASP لتمرير المعلمات المختلفة التي يستخدمها بشكل صحيح.
تريد هذه المقالة أيضًا أن تقدم لك كيفية استدعاء إجراء مخزن بمعلمات في ASP من خلال مثال بسيط. آمل أن تتمكن من الحصول على المزيد من الإلهام منه.
الخطوة الأولى هي إنشاء جدول البيانات userinfo
المعرف int (4) ليس فارغًا ،
الاسم الكامل varchar(50) ليس فارغًا،
كلمة المرور varchar(20) ليست فارغة،
nikename varchar(50) not null
الخطوة الثانية هي إنشاء الإجراء المخزن لفحص المستخدم
إنشاء فحص المستخدم الإجراء
@infullname فارتشار (50)،
@inpassword فارشار (50)،
@outcheck شار (3) الإخراج
مثل
إذا كان موجودًا (اختر * من معلومات المستخدم حيث الاسم الكامل=@infullname وكلمة المرور=@inpassword )
حدد @outcheck = "نعم"
آخر
حدد @outcheck='no'
ملاحظة: يتم إنشاء إجراء مخزن بثلاثة معلمات هنا، المعلمة الأولى @infullname هي معلمة إدخال (اسم المستخدم)؛ المعلمة @outcheck، هذه معلمة إخراج (سواء كان هذا المستخدم موجودًا)، عند تحديد معلمة الإخراج، يجب إضافة كلمة "OUTPUT" بعد نوع البيانات.
بعد ذلك، نأخذ أول معلمتين من معلمات الإدخال لاسترداد ما إذا كان هناك مستخدم مؤهل في عبارة SQL. إذا كان هناك مستخدم، فإن قيمة معلمة الإخراج هي "نعم"، وإلا فهي "لا".
الخطوة الثالثة هي كتابة برنامج ASP واستدعاء الإجراء المخزن
<%
'علامة إرسال النموذج
إذا كان الطلب ("موافق") = 1 ثم
"إنشاء اتصال بقاعدة البيانات
".
تعيين Comm=Server.CreateObject("ADODB.Command")
Comm.ActiveConnection="DSN=localserver;UID=sa;PWD=;Database=chaiwei"
'إنشاء اتصال إجراء مخزن مع كائن comm، 4 يعني أن نوع الاتصال هو إجراء مخزن
Comm.CommandText = "فحص المستخدم"
Comm.CommandType=4
'قم بإنشاء طريقة المعلمة لكائن com باسم p1. إلحاق الاسم الكامل للمعلمة الأولى بمجموعة p1 "الاسم الكامل" اسم المعلمة الأولى تسمى "200 نوع المعلمة نوع varchar" 1 تدفق المعلمة إلى الإدخال، الإدخال هو 1، الإخراج هو 2
'50 طول المعلمة 50
'request("fullname") تعيين القيمة الأولية للمعلمة
p1=Comm.CreateParameter("fullname",200,1,50,request("fullname"))
Comm.Parameters.Append ص1
'قم بإنشاء طريقة المعلمة لكائن comm باسم p1. قم بإلحاق كلمة مرور المعلمة الثانية بمجموعة p1
'التفاصيل هي نفسها المذكورة أعلاه
Set p1=Comm.CreateParameter("password",200,1,20,request("password"))
Comm.Parameters.Append ص1
'قم بإنشاء طريقة المعلمة لكائن comm باسم p1. قم بإلحاق فحص المعلمة الثالثة بمجموعة p1
'129 نوع المعلمة نوع char
'2 تدفق المعلمة إلى الإخراج
'3 طول المعلمة 3
تعيين p1=Comm.CreateParameter("check",129,2,3)
Comm.Parameters.Append ص1
'قم بتشغيل الإجراء المخزن
Comm.Execute
"اقتراح النتيجة ومعالجتها."
إذا comm("check")="yes" إذن
Response.write "مرحبًا بك في النظام! اسم المستخدم:" & comm("الاسم الكامل") & "كلمة المرور:" & comm("كلمة المرور")
آخر
Response.write "عذراً، لم تقم بالتسجيل بعد!"
ينتهي إذا
"حرر الاتصال."
تعيين الاتصال = لا شيء
آخر
"جزء النموذج".
%>