แนะนำ: แยกวิเคราะห์เซิร์ฟเวอร์ที่ใช้กันทั่วไปใน ASP เพื่อตรวจจับซอร์สโค้ด รหัสตรวจจับที่ใช้กันทั่วไปเมื่อเขียนหน้าเว็บ ASP: เซิร์ฟเวอร์เวลาปัจจุบัน: อ้างอิง %= ตอนนี้ %> เซิร์ฟเวอร์ CPU รุ่น: อ้างอิง %= request.ServerVariables (http_ua_cpu) %> ความละเอียดปัจจุบัน: อ้างอิง & l
มีบทความมากมายเกี่ยวกับ ASP และขั้นตอนที่เก็บไว้ แต่ฉันสงสัยว่าผู้เขียนได้ฝึกฝนจริง ๆ แล้ว ฉันอ่านข้อมูลที่เกี่ยวข้องมากมายเมื่อฉันอยู่ในช่วงแรกและพบว่าวิธีการที่มีให้หลายวิธีไม่ใช่กรณีในทางปฏิบัติ สำหรับการใช้งานง่าย ๆ วัสดุเหล่านี้อาจมีประโยชน์ แต่เพียงเพราะมันเหมือนกันการลอกเลียนแบบซึ่งกันและกันและการใช้งานที่ซับซ้อนกว่าเล็กน้อยจะคลุมเครือ
ตอนนี้ฉันเข้าถึง SQL Server โดยทั่วไปโดยเรียกขั้นตอนที่เก็บไว้ แม้ว่าข้อความต่อไปนี้ไม่สามารถรับประกันได้ว่าถูกต้องอย่างแน่นอน แต่ก็เป็นบทสรุปของการฝึกฝน ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน
ขั้นตอนที่เก็บไว้คือคำสั่ง SQL หนึ่งคำหรือมากกว่าที่เก็บไว้ในฐานข้อมูลเป็นวัตถุที่เรียกใช้งานได้
คำจำกัดความเป็นนามธรรมเสมอ ขั้นตอนที่เก็บไว้เป็นชุดของคำสั่ง SQL ที่สามารถดำเนินการบางอย่างให้เสร็จสมบูรณ์ แต่ชุดของคำสั่งนี้ถูกวางไว้ในฐานข้อมูล (เราจะพูดถึง SQL Server เท่านั้นที่นี่) หากเราสร้างขั้นตอนที่เก็บไว้และโทรขั้นตอนที่เก็บไว้ใน ASP เราสามารถหลีกเลี่ยงการผสมคำสั่ง SQL ด้วยรหัส ASP มีประโยชน์อย่างน้อยสามประการในการทำเช่นนี้:
ก่อนอื่นปรับปรุงประสิทธิภาพอย่างมาก ขั้นตอนที่เก็บไว้นั้นเร็วมากและการเรียกขั้นตอนการจัดเก็บสามารถลดจำนวนการโต้ตอบกับฐานข้อมูลได้อย่างมาก
ประการที่สองปรับปรุงความปลอดภัย หากคำสั่ง SQL ถูกผสมในรหัส ASP เมื่อรหัสหายไปนั่นหมายความว่าโครงสร้างห้องสมุดจะหายไป
ประการที่สามมันเอื้อต่อการใช้คำสั่ง SQL ซ้ำ
ใน ASP โดยทั่วไปขั้นตอนที่เก็บไว้จะเรียกผ่านวัตถุคำสั่ง ตามสถานการณ์ที่แตกต่างกันบทความนี้ยังแนะนำวิธีการโทรอื่น ๆ เพื่อความสะดวกในการอธิบายการจำแนกประเภทอย่างง่ายต่อไปนี้จะทำตามอินพุตและเอาต์พุตของขั้นตอนที่เก็บไว้:
1. มีเพียงขั้นตอนที่เก็บไว้ที่ส่งคืนชุดระเบียนเดียว
สมมติว่ามีขั้นตอนที่เก็บไว้ต่อไปนี้ (วัตถุประสงค์ของบทความนี้ไม่ได้อธิบายถึงไวยากรณ์ T-SQL ดังนั้นขั้นตอนที่เก็บไว้จะให้รหัสเท่านั้นและไม่ได้อธิบาย):
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: /*sp1*/ สร้างขั้นตอน dbo.getUserList เช่น ตั้งค่า nocount เริ่ม เลือก * จาก dbo [userinfo] จบ ไป |
ขั้นตอนที่เก็บไว้ข้างต้นได้รับระเบียนทั้งหมดในตาราง UserInfo และส่งคืนชุดระเบียน รหัส ASP สำหรับการเรียกขั้นตอนการจัดเก็บผ่านวัตถุคำสั่งมีดังนี้:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: '** ขั้นตอนการโทรผ่านวัตถุคำสั่ง ** Dim MyComm, Myrst ตั้งค่า myComm = server.createObject (adoDB.Command) myComm.activeConnection = myConstr 'myConstr เป็นสตริงการเชื่อมต่อฐานข้อมูล myComm.CommandText = getUserList 'ระบุชื่อขั้นตอนที่เก็บไว้ MyComm.CommandType = 4 'ระบุว่านี่เป็นขั้นตอนที่เก็บไว้ myComm.Prepared = true 'ต้องการคำสั่ง SQL ที่จะรวบรวมก่อน ตั้งค่า myrst = mycomm.execute ตั้งค่า myComm = ไม่มีอะไร |
ชุดบันทึกที่ได้รับจากขั้นตอนที่เก็บไว้จะถูกกำหนดให้กับ Myrst ถัดไป Myrst สามารถดำเนินการได้
ในรหัสด้านบนคุณสมบัติ CommandType ระบุประเภทของคำขอค่าและคำอธิบายมีดังนี้:
-1 ระบุว่าไม่สามารถกำหนดประเภทของพารามิเตอร์คำสั่ง
1 ระบุว่า CommandText เป็นประเภทคำสั่งทั่วไป
2 ระบุว่าพารามิเตอร์คำสั่งเป็นชื่อตารางที่มีอยู่
4 ระบุว่าพารามิเตอร์คำสั่งเป็นชื่อของขั้นตอนที่เก็บไว้
แบ่งปัน: วิเคราะห์คำสั่งการดำเนินการสคริปต์ใน ASP หากห้องคอมพิวเตอร์กำลังจะปิดหรือหากคุณกำลังรีบไปวันที่มม. โปรดข้ามไปยังวรรคที่สี่โดยตรง สคริปต์ที่อธิบายไว้ด้านล่างรวมถึงสคริปต์ฝั่งเซิร์ฟเวอร์และสคริปต์ฝั่งไคลเอ็นต์ สคริปต์ฝั่งเซิร์ฟเวอร์อ้างถึงส่วนของสคริปต์ที่ทำงานบนเซิร์ฟเวอร์เช่นการตอบสนองทั่วไป
8 หน้ารวมหน้าก่อนหน้า 12345678NEXT หน้า