เมื่อเราเขียนโปรแกรมตรวจสอบสิทธิ์ผู้ใช้ มันเป็นเรื่องง่ายที่จะใช้ ASP เพื่อเรียกคำสั่ง SQL เพื่อดึงข้อมูลว่ามีบันทึกที่ตรงกับเงื่อนไขในตารางข้อมูลหรือไม่ จากนั้นใช้ ASP เพื่อดำเนินการประมวลผลที่เกี่ยวข้อง
ถนนทุกสายมุ่งสู่กรุงโรม! แน่นอนว่าเรายังสามารถใช้ขั้นตอนการจัดเก็บของฐานข้อมูล SQL SERVER เพื่อใช้งานฟังก์ชันนี้ได้อย่างง่ายดาย แม้ว่าจะค่อนข้างซับซ้อน แต่การปรับปรุงประสิทธิภาพก็เห็นได้ชัด เนื่องจากขั้นตอนการจัดเก็บเป็นโปรแกรมที่ได้รับการคอมไพล์ในฐานข้อมูล และเราจำเป็นต้องใช้ ASP เท่านั้นเพื่อส่งผ่านพารามิเตอร์ต่างๆ ที่ใช้อย่างถูกต้อง
บทความนี้ส่วนใหญ่ยังต้องการแนะนำวิธีการเรียกกระบวนงานที่เก็บไว้ด้วยพารามิเตอร์ใน ASP โดยใช้ตัวอย่างง่ายๆ ฉันหวังว่าคุณจะได้รับแรงบันดาลใจจากมันมากขึ้น
ขั้นตอนแรกคือการสร้างข้อมูลผู้ใช้ตารางข้อมูล
id int(4) ไม่เป็นโมฆะ
ชื่อเต็ม varchar (50) ไม่เป็นโมฆะ
รหัสผ่าน varchar (20) ไม่เป็นโมฆะ
nikename varchar(50) ไม่ใช่ null
ขั้นตอนที่สองคือการสร้างขั้นตอนที่เก็บไว้ usercheck
สร้างขั้นตอนการตรวจสอบผู้ใช้
@infullname วาร์ชาร์(50)
@inpassword วาชาร์ (50)
@outcheck ถ่าน (3) เอาท์พุท
เช่น
ถ้ามี (เลือก * จากข้อมูลผู้ใช้โดยที่ ชื่อเต็ม=@infullname และ รหัสผ่าน=@inpassword )
เลือก @outcheck='ใช่'
อื่น
เลือก @outcheck='no'
หมายเหตุ: ขั้นตอนการจัดเก็บที่มีสามพารามิเตอร์ถูกสร้างขึ้นที่นี่ พารามิเตอร์ตัวแรก @infullname คือพารามิเตอร์อินพุต (ชื่อผู้ใช้) พารามิเตอร์ตัวที่สอง @inpassword ก็เป็นพารามิเตอร์อินพุตเช่นกัน พารามิเตอร์ @outcheck นี่คือพารามิเตอร์เอาต์พุต (ไม่ว่าผู้ใช้รายนี้จะมีอยู่หรือไม่) เมื่อกำหนดพารามิเตอร์เอาต์พุต จะต้องเพิ่มคำว่า "OUTPUT" หลังชนิดข้อมูล
จากนั้น เราใช้พารามิเตอร์อินพุตสองตัวแรกเพื่อดึงข้อมูลว่ามีผู้ใช้ที่ผ่านการรับรองในคำสั่ง SQL หรือไม่ ถ้ามี ค่าของพารามิเตอร์เอาต์พุตจะเป็น "ใช่" มิฉะนั้นจะเป็น "ไม่"
ขั้นตอนที่สามคือการเขียนโปรแกรม ASP และเรียกใช้โพรซีเดอร์ที่เก็บไว้
<%
'แฟล็กการส่งแบบฟอร์ม'
if request("ok")=1 แสดงว่า
'สร้างการเชื่อมต่อฐานข้อมูล'
ตั้งค่า Comm=Server.CreateObject("ADODB.Command")
Comm.ActiveConnection="DSN=localserver;UID=sa;PWD=;Database=chaiwei"
'สร้างการเชื่อมต่อขั้นตอนที่เก็บไว้กับวัตถุ comm 4 หมายถึงประเภทการเชื่อมต่อเป็นขั้นตอนที่เก็บไว้
Comm.CommandText="ผู้ใช้ตรวจสอบ"
Comm.CommandType=4
'สร้างวิธีการพารามิเตอร์ของวัตถุ comm ด้วย p1 เป็นชื่อ ผนวกชื่อเต็มพารามิเตอร์แรกเข้ากับคอลเลกชัน p1 'ชื่อเต็ม' ชื่อของพารามิเตอร์แรกที่เรียกว่า '200 ประเภทพารามิเตอร์ varchar ประเภท '1 การไหลของพารามิเตอร์ไปยังอินพุต อินพุตคือ 1 เอาต์พุตคือ 2
'50 ความยาวพารามิเตอร์ 50
'request("fullname") กำหนดพารามิเตอร์เริ่มต้น
Set p1=Comm.CreateParameter("fullname",200,1,50,request("fullname"))
Comm.Parameters.ผนวก p1
'สร้างวิธีการพารามิเตอร์ของวัตถุ comm ที่มี p1 เป็นชื่อ เพิ่มรหัสผ่านพารามิเตอร์ตัวที่สองต่อท้ายคอลเลกชัน p1
'ข้อมูลเฉพาะเหมือนกับด้านบน
Set p1=Comm.CreateParameter("password",200,1,20,request("password"))
Comm.Parameters.ผนวก p1
'สร้างวิธีการพารามิเตอร์ของวัตถุ comm ที่มี p1 เป็นชื่อ ผนวกการตรวจสอบพารามิเตอร์ที่สามเข้ากับคอลเลกชัน p1
'129 ประเภทพารามิเตอร์ประเภทถ่าน
'2 การไหลของพารามิเตอร์ไปยังเอาต์พุต
'3 ความยาวพารามิเตอร์ 3
ตั้งค่า p1=Comm.CreateParameter("check",129,2,3)
Comm.Parameters.ผนวก p1
'เรียกใช้ขั้นตอนที่เก็บไว้
Comm.ดำเนินการ
'เสนอผลลัพธ์และดำเนินการ
ถ้า comm("check")="yes" แล้ว
response.write "ยินดีต้อนรับสู่ระบบ! ชื่อผู้ใช้:" & comm("ชื่อเต็ม") & "รหัสผ่าน:" & comm("รหัสผ่าน")
อื่น
response.write "ขออภัย คุณยังไม่ได้ลงทะเบียน!"
สิ้นสุดถ้า
'ปล่อยการเชื่อมต่อ
ตั้งค่า Comm=nothing
อย่างอื่นก็
เป็นส่วนหนึ่งของรูปแบบ
-