แนะนำ: ใช้ ASP เพื่อใช้ระบบการสอบออนไลน์ ด้วยการพัฒนาเทคโนโลยีอินเทอร์เน็ตการสอนออนไลน์จะกลายเป็นรูปแบบหลักของการศึกษาใหม่และการศึกษาตลอดชีวิต ในโรงเรียนออนไลน์ผู้คนสามารถเลือกหลักสูตรใดก็ได้ทุกที่โดยไม่ถูก จำกัด ด้วยเวลาและสถานที่ การพัฒนาโรงเรียนออนไลน์เสนอการพัฒนาการสอบออนไลน์
5. ค่าส่งคืนการประมวลผลของค่าการส่งคืนฟังก์ชั่นนั้นแตกต่างจากการประมวลผลของขั้นตอนที่เก็บไว้ซึ่งมักจะนำไปสู่ความสับสน ในฟังก์ชั่นค่าบูลีนมักจะถูกส่งกลับเพื่อระบุว่าฟังก์ชั่นทำงานได้สำเร็จหรือไม่
ถ้า somefunctionName () = true แล้ว
ฟังก์ชั่นสำเร็จ
อย่างไรก็ตามเมื่อเรียกขั้นตอนที่เก็บไว้วิธีเดียวกันไม่สามารถใช้ได้เนื่องจากที่เก็บข้อมูลจะทำงานด้วยวิธีการดำเนินการและส่งคืนชุดระเบียน
ตั้งค่า rsauthors = cmdauthors.execute
หากคุณไม่สามารถรับค่าคืนได้คุณจะพิจารณาได้อย่างไรว่าขั้นตอนที่เก็บไว้นั้นถูกดำเนินการอย่างถูกต้องหรือไม่? เมื่อเกิดข้อผิดพลาดข้อผิดพลาดจะถูกรายงานเพื่อให้รหัสการจัดการข้อผิดพลาดที่ให้ไว้ในบทก่อนหน้าสามารถใช้เพื่อจัดการกับข้อผิดพลาด แต่จะทำอย่างไรกับข้อผิดพลาดเชิงตรรกะที่ไม่ใช่อันตรายบางอย่าง?
ตัวอย่างเช่นพิจารณาเพิ่มพนักงานใหม่ลงในตารางพนักงาน คุณอาจไม่ต้องการป้องกันไม่ให้พนักงานสองคนมีชื่อเดียวกัน แต่คุณต้องการระบุสถานการณ์นี้ จากนั้นค่าส่งคืนสามารถใช้เพื่อระบุว่าเสมียนที่มีชื่อเดียวกันมีอยู่แล้วหรือไม่ ขั้นตอนที่เก็บไว้มีดังนี้:
สร้างโพรซีเดอร์ USP_ADDEMPLOYEE
@EMP_ID Char (9)
@fname varchar (20)
@minit Char (1)
@lname varchar (30)
@job_id smallint,
@job_lvl tinyint,
@pub_id Char (4)
@hire_date DateTime
เช่น
เริ่ม
ประกาศ @Exists int - ค่าส่งคืน
- ดูว่ามีพนักงานที่มีชื่อเดียวกันหรือไม่
ถ้ามีอยู่ (เลือก *
จากพนักงาน
โดยที่ fname = @fname
และ minit = @minit
และ lname = @lname)
เลือก @exists = 1
อื่น
เลือก @Exists = 0
แทรกเข้าไปในพนักงาน (EMP_ID, fname, minit, lname,
Job_id, job_lvl, pub_id, hire_date)
ค่า (@EMP_ID, @fname, @minit, @lname, @job_id,
@job_lvl, @pub_id, @hire_date)
กลับ @Exists
จบ
กระบวนการตรวจสอบก่อนว่ามีพนักงานที่มีชื่อเดียวกันหรือไม่และตั้งค่าตัวแปรที่สอดคล้องกันนั้นมีอยู่หรือไม่ หากชื่อเดียวกันมีอยู่จะถูกตั้งค่าเป็น 1 มิฉะนั้นจะเป็น 0 จากนั้นเพิ่มพนักงานลงในตารางและส่งคืนค่าของที่มีอยู่เป็นค่าคืน
โปรดทราบว่าแม้ว่าค่าจะถูกส่งคืน แต่ก็ไม่ได้ประกาศว่าเป็นพารามิเตอร์ของขั้นตอนที่เก็บไว้
รหัส ASP ที่เรียกขั้นตอนนี้มีดังนี้:
<!-#include file = ../include/connection.asp->
-
dim cmdemployee
Dim Lngrecs
สลัว lngadded
ตั้งค่า cmdemployee = server.createObject (adodb.command)
'ตั้งค่าคุณสมบัติของคำสั่ง
ด้วย cmdemployee
.activeConnection = strconn
.CommandText = usp_addemployee
.CommandType = ADCMDSTORDPROC
'สร้างพารามิเตอร์
'สังเกตว่าค่าส่งคืนเป็นพารามิเตอร์แรก
.Parameters.Append .CreateParameter (return_value, Adinteger, _
adparamreturnvalue)
.Parameters.Append .CreateParameter (@EMP_ID, ADCHAR, ADPARAMINPUT, 9)
.Parameters.Append .CreateParameter (@fname, Advarwchar, Adparaminput, 20)
.Parameters.Append .CreateParameter (@minit, Adchar, Adparaminput, 1)
.Parameters.Append .CreateParameter (@lname, Advarwchar, Adparaminput, 30)
.Parameters.Append .CreateParameter (@JOB_ID, ADSMALLINT, ADPARAMINPUT)
.Parameters.Append .CreateParameter (@job_lvl, AdunsignedTinyint, Adparaminput)
.Parameters.Append .CreateParameter (@pub_id, Adchar, Adparaminput, 4)
.Parameters.Append .CreateParameter (@hire_date, Addbtimestamp, _
adparaminput, 8)
'ตั้งค่าพารามิเตอร์
.Parameters (@EMP_ID) = request.form (txTempid)
.parameters (@fname) = request.form (txtfirstname)
.parameters (@minit) = request.form (txtinitial)
.Parameters (@lname) = request.form (txtlastName)
.parameters (@job_id) = request.form (lstjobs)
.parameters (@job_lvl) = request.form (txtjoblevel)
.Parameters (@pub_id) = request.form (lstpublisher)
.Parameters (@hire_date) = request.form (txTheReadate)
'เรียกใช้ขั้นตอนที่เก็บไว้
.Execute lngrecs ,, adexecutenorecords
'แยกค่าส่งคืน
lngadded = .parameters (return_value)
จบลงด้วย
Response.write เพิ่มพนักงานใหม่ <p>
ถ้า lngadded = 1 แล้ว
Response.write พนักงานที่มีชื่อเดียวกันอยู่แล้ว
สิ้นสุดถ้า
ตั้งค่า cmdemployee = ไม่มีอะไร
-
ควรสังเกตว่าควรสร้างค่าส่งคืนเป็นพารามิเตอร์แรกในชุด แม้ว่าค่าส่งคืนจะไม่ปรากฏเป็นพารามิเตอร์ในขั้นตอนที่เก็บไว้ แต่ก็เป็นพารามิเตอร์แรกในการรวบรวมพารามิเตอร์เสมอ
แบ่งปัน: การเขียนโปรแกรมขั้นสูง ASP 3.0 (สามสิบหก) บทที่ 8 พื้นฐานของ ADO ใน 7 บทแรกของหนังสือเล่มนี้ได้พูดคุยเกี่ยวกับเนื้อหาของ ASP และวิธีที่ ASP นำเนื้อหาแบบไดนามิกมาสู่เว็บไซต์ จะเห็นได้ว่าโปรแกรมการเขียนสคริปต์ช่วยให้หน้าเว็บที่กำหนดเองช่วยให้เราสามารถสร้างหน้า ASP ที่ทรงพลังยิ่งขึ้น ตอนนี้ ASP จะได้รับการศึกษา