กระบวนการจัดเก็บข้อมูล (เวอร์ชันตัวอย่าง SQL)
วันนี้ฉันจะส่งขั้นตอนการจัดเก็บ SQL ให้คุณเพื่อให้คุณเข้าใจ
CreateProcedUrelogin_verify
-
@community_idint-รับค่า
@usernamevarchar (20)
@PasswordVarchar (40)
@ResultTinyIntOutput
-
เช่น
setNocounton
declare@service_deadline_datesmalldatetime,@community_setting_max_online_countint-กำหนดตัวแปรในรูปแบบวันที่สั้น ๆ
เลือก@community_setting_max_online_count = Community_setting_max_online_count,@service_deadline_date = service_deadline_datefromcommunity_infowhereCommunity_id =@community_id-นี่คือการค้นหาจำนวนสูงสุดของการเข้าสู่ระบบ
ifdatediff (D,@service_deadline_date, getDate ())> 10-ที่จริงแล้วนี่คือการ จำกัด ระยะเวลาการใช้งานของผู้ใช้ หากวันที่ปัจจุบันและวันที่บันทึกในไลบรารีมากกว่า 10 วันให้ส่งคืน @result = 11
เริ่ม
SET@result = 11-อายุการใช้งานเกินกว่า
กลับ
จบ
if (selectCount (*) fromOnline_userwhere =@Community_Setting_max_online_count "> Community_id =@Community_id)> =@Community_Setting_max_online_count-เปรียบเทียบกับจำนวนผู้คนปัจจุบันตามการตั้งค่าบันทึกในห้องสมุด
เริ่ม
ตั้งค่า @result = 10-เกินหมายเลขออนไลน์ที่ จำกัด กลับไปที่ @result = 10
กลับ
จบ
declare@stamiaint,@last_update_stamia_datesmalldatetime,@level_idint-ตัวแปรตัวแปรจำนวนเต็มวันที่สั้น
ประกาศ@useridint,@user_roleint
เลือก@userId = userId,@user_role = user_role,@stamia = stamia,@last_update_stamia_date = last_update_stamia_date,@level_id = level_idfromuser_infowhereRname
-เขียนข้อมูลบางอย่างลงในตัวแปรสามตัวที่กำหนดจากตารางข้อมูลผู้ใช้
ถ้า @useridisnotNull --- ถ้า @UserID ไม่เปลี่ยนค่า NULL
เริ่มต้น-การตรวจสอบชื่อผู้ใช้และรหัสผ่านสำเร็จแล้ว
set@result = 1-การทดสอบสำเร็จ
กลับ
จบ
อื่น
เริ่ม
set@result = 0-ล็อกในล้มเหลว
จบ
setnocountoff
ไป
มาตั้งชื่อกระบวนการด้านบน login_verify
เขียนเป็นสถานที่ที่เรียกการตรวจสอบความปลอดภัยในรหัส ASP
'' 'Conn ได้รับการกำหนดล่วงหน้า
setcmd.activeConnection = conn
cmd.CommandText = "login_verify"
cmd.CommandType = & h0004
@community_idint-รับค่า
@usernamevarchar (20)
@PasswordVarchar (40)
@Resultint
cmd.parameters.appendcmd.createparameter ("@Community_id", 3)
cmd.parameters.appendcmd.createparameter ("@username", 200)