หลังจากที่เพื่อนหลายคนเรียนรู้ ASP แล้ว พวกเขารู้เพียงคำสั่งพื้นฐานเพียงไม่กี่คำสั่ง เช่น SELECT, UPDATE และ DELETE ซึ่งจะช่วยลดความเร็วของระบบได้อย่างมากเมื่ออ่านหรือจัดเก็บข้อมูล ฐานข้อมูล SQL
คัดลอกรหัสรหัสดังต่อไปนี้:
CREATE PROCEDURE Proname //ใช้ CREATE PROCEDURE เพื่อสร้างโพรซีเดอร์ที่เก็บไว้ Proname คือชื่อของโพรซีเดอร์ที่เก็บไว้
@Lname VARCHAR(30) //กำหนดพารามิเตอร์ที่ส่งเข้ามา
เช่น
ตั้งหมายเลขเป็น
เริ่ม
SELECT * FROM TableName WHERE Lname เช่น '%'+@Lname+'%' //ใช้ SELECE เพื่อสอบถามแถวทั้งหมดที่มีค่า Lname คล้ายกับค่าของพารามิเตอร์ขาเข้า Lname
จบ
ไป
ข้างต้นคือขั้นตอนการจัดเก็บที่มีพารามิเตอร์อินพุตเดียวได้ถูกสร้างขึ้น และส่งคืนชุดค่า demerits สำหรับการสืบค้นทั้งหมด
มาเริ่มใช้ ASP เพื่อดำเนินการขั้นตอนการจัดเก็บนี้กันดีกว่า
คัดลอกรหัสรหัสดังต่อไปนี้:
//ต่อไปนี้เป็นสตริงสำหรับสร้างการเชื่อมต่อกับ MSSQL SERVER ทุกคนรู้ดี ดังนั้นฉันจะไม่เข้าไปยุ่งเกี่ยวกับมัน
strConnect = Driver={SQL Server};Server=(local);uid=sa;password=;database=ชื่อข้อมูล
ตั้งค่า conn = server.CreateObject (Adodb.Connection)
conn.เปิด strConnect
SET cmd = Server.CreateObject(ADODB.Command) // สร้างวัตถุคำสั่ง COMMAND
ด้วยคำสั่ง
cmd.ActiveConnection = conn //conn คือสตริงการเชื่อมต่อ
cmd.CommandText = Proname //นี่คือชื่อของขั้นตอนการจัดเก็บที่จะใช้
cmd.CommandType = 4 //แอตทริบิวต์ CommandType ระบุประเภทของคำขอ
//-1 ระบุว่าไม่สามารถกำหนดประเภทของพารามิเตอร์ CommandText ได้
//1 ระบุว่า CommandText เป็นประเภทคำสั่งทั่วไป
//2 ระบุว่าพารามิเตอร์ CommandText เป็นชื่อตารางที่มีอยู่
//4 ระบุว่าพารามิเตอร์ CommandText เป็นชื่อของกระบวนงานที่เก็บไว้ ดังนั้น CommandType = 4 ที่นี่
cmd.Prepared = true //ต้องคอมไพล์คำสั่ง SQL ก่อน
cmd.Parameters.append cmd.CreateParameter(@Lname,3,1,4,Lname) //เพิ่มพารามิเตอร์ @Lname โดย Lname ต่อไปนี้คือตัวแปรที่คุณกำหนดในหน้า ASP
Set rs = cmd.Execute //ตั้งค่าตัวแปร rs เพื่อรับชุดบันทึกการสืบค้นที่ส่งคืน
ลงท้ายด้วย
DO WHILE NOT rs.EOF //ใช้ DO loop เพื่ออ่านบรรทัดในชุดระเบียน rs
RESPONSE.WRITE(rs(ชื่อฟิลด์)<BR />)
rs.MOVENEXT //ย้ายไปยังรายการถัดไป
LOOP //สิ้นสุดวง
rs.CLOSE //ปิดวัตถุ