แนะนำ: asp.net ใช้ RAR เพื่อใช้การบีบอัดไฟล์และการบีบอัด หากโปรแกรม RAR ถูกติดตั้งบนเซิร์ฟเวอร์ ASP.NET สามารถเรียก RAR เพื่อใช้การบีบอัดไฟล์และการบีบอัด อย่างไรก็ตามควรสังเกตว่าเนื่องจากโปรแกรมเว็บไม่สามารถเรียกโปรแกรมไคลเอนต์โดยตรง (เว้นแต่จะใช้งาน ActiveX ActiveX เกือบจะถูกทอดทิ้ง) หากคุณต้องการนำไปใช้
8.2.5 วัตถุสตรีมวัตถุสตรีมใช้เพื่อเข้าถึงเนื้อหาของโหนดเช่นข้อความอีเมลหรือหน้าเว็บ ใช้วัตถุสตรีมเพื่อเข้าถึงเนื้อหาจริงของไฟล์หรือทรัพยากร ดังนั้นการรวมวัตถุ Recordset และ recordset ไม่เพียงสามารถเข้าถึงไฟล์หรือข้อความอีเมลบนเว็บเซิร์ฟเวอร์ แต่ยังเข้าถึงเนื้อหาที่เกี่ยวข้อง ด้วยวิธีนี้คุณสามารถสร้างลูกค้าเมลที่ใช้เฉพาะ ADO เพื่อเข้าถึงระบบเมล สิ่งนี้อาจไม่มีข้อได้เปรียบมากมาย แต่ก็หมายความว่าคุณไม่จำเป็นต้องเข้าใจ API หรือโมเดลวัตถุของระบบจดหมายลดการออกจากการเรียนรู้
การใช้สตรีมอีกครั้งคือ XML ซึ่งสามารถเข้าถึงชุดข้อมูล (โครงสร้างหรือกึ่งโครงสร้าง) เป็นสตรีม XML
สตรีมวัตถุใช้ในการประมวลผลข้อมูลไบนารีเพื่อให้สามารถใช้ในการประมวลผลข้อมูลประเภท BLOB เช่นภาพหรือข้อมูลข้อความขนาดใหญ่ในฐานข้อมูล
ในทำนองเดียวกันคุณจะเห็นตัวอย่างเพิ่มเติมของวัตถุสตรีมในบทที่ 11 และ 12 ของหนังสือเล่มนี้
8.2.6 คอลเลกชัน
มีคอลเลกชันบางอย่างในไลบรารีออบเจ็กต์ ADO แต่ละชุดมีสำเนาเป็นศูนย์หรือมากกว่าของวัตถุที่เกี่ยวข้อง คุณสามารถใช้โครงสร้างรหัสเดียวกันเพื่อสำรวจคอลเลกชันเหล่านี้
ไวยากรณ์ใน VBScript คือ:
สำหรับแต่ละวัตถุในการรวบรวม
'ทำอะไรกับวัตถุ
ต่อไป
ตัวอย่างเช่นซ้ำผ่านชุดฟิลด์ของวัตถุชุดบันทึก:
สำหรับแต่ละ objfield ใน Rs.Fields
Response.write objfield.name & <br>
ต่อไป
หากคุณเลือก JScript คุณสามารถใช้วัตถุ enumerator:
สำหรับ (objfield = ใหม่ enumerator (Rs.Fields);
! objfield.atend (); objfield.movenext ())
Response.write (objfield.item (). ชื่อ '<br>');
1. คอลเลกชันฟิลด์
คอลเลกชันฟิลด์มีวัตถุฟิลด์ที่เกี่ยวข้องกับชุดบันทึกหรือบันทึก สำหรับชุดบันทึกตามข้อมูลที่มีโครงสร้างเช่นข้อมูล SQL ฟิลด์สอดคล้องกับคอลัมน์ในข้อมูลและมีเนื้อหาโดยละเอียดของคอลัมน์เช่นชื่อประเภทข้อมูลความยาว ฯลฯ ฉันเห็นตัวอย่างมากมายเกี่ยวกับคอลเลกชันฟิลด์ในสองสามบทถัดไป
สำหรับข้อมูลกึ่งโครงสร้างคุณสมบัติของวัตถุสอดคล้องกับฟิลด์ คุณจะเห็นการแนะนำที่เกี่ยวข้องมากขึ้นในบทที่ 12
2. การรวบรวมพารามิเตอร์
คอลเลกชันพารามิเตอร์ใช้โดยวัตถุคำสั่งเท่านั้นที่กำหนดพารามิเตอร์ในคำสั่งที่เก็บไว้ ขั้นตอนที่เก็บไว้ในฐานข้อมูล SQL มักใช้พารามิเตอร์และอนุญาตให้ส่งข้อมูลเข้าและออกจากคำสั่ง SQL ที่กำหนดไว้ล่วงหน้า มันมีประโยชน์หากคุณมีพารามิเตอร์ที่ส่งคืนข้อมูลไปยัง ADO เนื่องจากด้วยวิธีนี้มันไม่ได้เป็นเพียงชุดระเบียนที่ส่งคืนจากขั้นตอนที่เก็บไว้ ตัวอย่างเช่นการพิจารณาขั้นตอนที่จัดเก็บที่ซับซ้อนซึ่งอัปเดตหลายตารางจากนั้นส่งคืนชุดระเบียนคุณสามารถใช้พารามิเตอร์เอาต์พุตเพื่อแสดงจำนวนระเบียนที่ได้รับการอัปเดต
อีกเหตุผลหนึ่งที่ใช้พารามิเตอร์คือปัญหาด้านประสิทธิภาพโดยเฉพาะอย่างยิ่งเมื่อต้องส่งคืนค่าเดียวจากขั้นตอนที่เก็บไว้ ในกรณีนี้ไม่จำเป็นต้องสร้างชุดระเบียนเพียงบันทึกค่าดังนั้นจึงไม่จำเป็นต้องส่งคืนชุดระเบียนและการส่งคืนค่าของพารามิเตอร์เอาต์พุตเป็นวิธีที่มีประสิทธิภาพมากขึ้น
ในบทที่ 9 คุณจะเห็นการแนะนำรายละเอียดเกี่ยวกับการรวบรวมพารามิเตอร์
3. การรวบรวมข้อผิดพลาด
การรวบรวมข้อผิดพลาดมีรายละเอียดของข้อผิดพลาด ADO หรือ OLE DB ผู้ให้บริการล่าสุดที่เกิดจากการเรียกใช้คำสั่งและสามารถเข้าถึงได้โดยวัตถุการเชื่อมต่อเท่านั้น สิ่งนี้อาจถูกพิจารณาว่าเป็นข้อ จำกัด เนื่องจากไม่จำเป็นต้องกำหนดวัตถุการเชื่อมต่ออย่างชัดเจน แต่วัตถุการเชื่อมต่อโดยนัยสามารถเข้าถึงได้ผ่านคุณสมบัติ ActivEconnection ของคำสั่งบันทึกชุดบันทึกและบันทึกวัตถุ ตัวอย่างเช่น:
สำหรับ Objerror แต่ละตัวใน Rs.activeConnection.errors
Response.write objerror.name & <br>
ต่อไป
ต่อมาในบทนี้การรวบรวมข้อผิดพลาดจะถูกกล่าวถึงในรายละเอียด
4. คอลเลกชันคุณสมบัติ
เพื่อหลีกเลี่ยงความสับสนคอลเลกชันคุณสมบัติจะไม่ปรากฏบนไดอะแกรมโมเดลวัตถุก่อนหน้า ความสัมพันธ์กับโมเดลวัตถุแสดงในรูปที่ 8-5:
รูปที่ 8-5 ความสัมพันธ์ระหว่างทรัพย์สินและวัตถุ
เหตุผลที่มีการรวบรวมคุณสมบัติเป็นเพราะ ADO ใช้ในการประมวลผลที่เก็บข้อมูลที่แตกต่างกันจำนวนมากโดยมีลักษณะที่แตกต่างกัน คุณสมบัติที่เป็นคุณสมบัติ (คุณสมบัติ) ลงในคอลเลกชันสามารถทำให้พวกเขามีการเปลี่ยนแปลงแบบไดนามิกได้ตลอดเวลาตามผู้ให้บริการข้อมูลที่แตกต่างกัน ตัวอย่างเช่นผู้ให้บริการ OLE DB ของเจ็ทอนุญาตให้เข้าถึงคุณสมบัติความปลอดภัยพิเศษของเจ็ท:
ตั้งค่า condb = server.createObject (adodb.connection)
condb.open dsn = nwind
condb.properties (Jet OLEDB: รหัสผ่านฐานข้อมูล) = letmein
ผู้ให้บริการรายอื่นไม่มีคุณสมบัตินี้ดังนั้นจึงไม่ฉลาดที่จะเพิ่มลงในวัตถุการเชื่อมต่อเป็นคุณสมบัติคงที่ ADO เติมเต็มแอตทริบิวต์คอลเลกชันด้วยค่าเริ่มต้นของผู้ให้บริการตามผู้ให้บริการ OLE DB ที่ใช้
แม้ว่าจะมีคำแนะนำสำหรับการใช้คอลเลกชันคุณสมบัติที่นี่ แต่คอลเลกชันคุณสมบัติไม่ได้อธิบายไว้ในรายละเอียดในหนังสือเล่มนี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคอลเลกชันดูการเขียนโปรแกรม ADO 2.5 มืออาชีพหรือการอ้างอิงการเขียนโปรแกรม ADO 2.5 ซึ่งเผยแพร่โดย WROX
8.2.7 ค่าคงที่ ADO
เมื่อใช้ ADO คุณจะพบว่ามีค่าคงที่ที่กำหนดไว้ล่วงหน้ามากมายสำหรับตัวเลือกมากมายเช่นค่าคงที่ที่กำหนดประเภทเคอร์เซอร์และประเภทล็อค การใช้ภาษาเช่น Visual Basic หรือ Visual C ค่าคงที่เหล่านี้จะถูกนำมาใช้ตามธรรมชาติเมื่อมีการอ้างอิงไลบรารีประเภท ADO ใน ASP มีสองตัวเลือก
วิธีแรกในการอ้างอิงค่าคงที่คือการรวมไว้ในไฟล์ ASP:
<!-#include file = adovbc.inc->
คุณสามารถคัดลอกไฟล์รวมไปยังไดเรกทอรีท้องถิ่นหรืออ้างอิงจากไดเรกทอรีการติดตั้งด้วยพา ธ เริ่มต้นไปยัง C:/โปรแกรมไฟล์/ไฟล์ทั่วไป/ระบบ/ADO (ไฟล์ด้านบนมีค่าคงที่ ADO สำหรับ VBScript - สำหรับ JScript, Adojavas.inc) ข้อบกพร่องอย่างหนึ่งของการใช้วิธีนี้คือมันจะทำให้หน้า ASP มีขนาดใหญ่เกินไปเพราะมีค่าคงที่ทั้งหมดซึ่งส่วนใหญ่ไม่จำเป็นต้องใช้
คุณสามารถสร้างไฟล์ที่มีอยู่ของคุณเองที่มีค่าคงที่ที่ต้องการเท่านั้น แต่เมื่อคุณใช้ฟังก์ชั่น ADO มากขึ้นเรื่อย ๆ คุณอาจพบว่าคุณต้องแก้ไขและบำรุงรักษาไฟล์นี้อย่างต่อเนื่อง
ทางออกที่ดีกว่าคือการสร้างการอ้างอิงไปยังไลบรารีประเภท วิธีนี้ไม่ต้องการค่าคงที่ที่จะรวมอยู่ในไฟล์ ASP แต่สามารถอ้างอิงค่าคงที่โดยตรง:
<!- metadata type = file typelib = c:/program files/program
ไฟล์ทั่วไป/ระบบ/ADO/MSADO15.DLL ->
อย่าสงสัยว่าชื่อของ DLL นี้คือ MSADO15.DLL ซึ่งเป็นชื่อที่ถูกต้องซึ่งมี ADO เวอร์ชันล่าสุด
คุณสามารถรวมคำสั่งข้อมูลเมตานี้ในไฟล์ ASP แต่ละไฟล์ที่คุณต้องการหรือใส่ไว้ในไฟล์ global.asa เพื่อให้แต่ละหน้าเว็บในแอปพลิเคชันสามารถอ้างอิงค่าคงที่เหล่านี้
8.3 การเชื่อมต่อกับการจัดเก็บข้อมูล
หากคุณต้องการเข้าถึงที่เก็บข้อมูลคุณควรสร้างการเชื่อมต่อกับที่เก็บข้อมูล ดังที่ได้กล่าวไว้ก่อนหน้านี้: คุณสามารถสร้างวัตถุการเชื่อมต่อได้อย่างชัดเจนหรือให้ ADO สร้างการเชื่อมต่อโดยปริยาย สำหรับวิธีการใด ๆ คุณต้องทราบรายละเอียดของการจัดเก็บข้อมูล
แม้ว่ารายละเอียดจริงที่ใช้สำหรับการเชื่อมต่อจะแตกต่างกันไป แต่วิธีการเชื่อมต่อที่แท้จริงนั้นเหมือนกันสำหรับการจัดเก็บข้อมูลทุกประเภท สิ่งนี้ไม่น่าแปลกใจเนื่องจากผู้ให้บริการที่แตกต่างกันต้องการข้อมูลประเภทต่าง ๆ ก่อนที่จะอนุญาตให้ผู้ใช้เข้าถึง Data Store ผู้ให้บริการบางรายต้องการใบรับรองของผู้ใช้ในขณะที่ผู้อื่นยอมรับใบรับรองความปลอดภัยเริ่มต้น
มีหลายวิธีในการเชื่อมต่อกับแหล่งข้อมูล:
·เชื่อมต่อสตริง ใส่รายละเอียดการเชื่อมต่อในสตริงหรือเพิ่มรายละเอียดการเชื่อมต่อโดยตรงไปยังคำสั่งเมื่อเปิดการจัดเก็บข้อมูล ข้อดีของวิธีการนี้คือรายละเอียดการเชื่อมต่อจะถูกเก็บไว้ในหน้า ASP ข้อเสียคือถ้าคุณมีหน้ามากขึ้นคุณจะติดอยู่ในงานบำรุงรักษาหนักเมื่อเปลี่ยนรายละเอียดการเชื่อมต่อ วิธีแก้ปัญหาคือการสร้างตัวแปรสตริงที่มีรายละเอียดการเชื่อมต่อและใส่ไว้ในไฟล์ ASP รวม ด้วยวิธีนี้มีเพียงหนึ่งอินสแตนซ์ของสตริงการเชื่อมต่อ แต่สามารถสอดคล้องกับหน้า ASP อื่น ๆ อีกเทคนิคทั่วไปคือการจัดเก็บสตริงการเชื่อมต่อในแอปพลิเคชันลงในตัวแปรสถานะเพื่อให้สามารถใช้งานได้โดยทุกหน้าในแอปพลิเคชัน
·ไฟล์ลิงค์ข้อมูล นี่คือไฟล์ที่มีรายละเอียดการเชื่อมต่อ (ส่วนขยาย. UDL) ข้อได้เปรียบคือต้องใช้ไฟล์ลิงค์ข้อมูลเพียงหนึ่งไฟล์สำหรับหน้าข้อมูล ASP ใด ๆ ในการสร้างไฟล์ลิงค์ข้อมูลเพียงสร้างไฟล์ข้อความใหม่และเปลี่ยนชื่อ (เพื่อให้แน่ใจว่า Windows Explorer แสดงส่วนขยายไฟล์) เมื่อเปลี่ยนชื่อไฟล์แล้วคุณสามารถเปิด (ดับเบิลคลิก) เพื่อแสดงกล่องโต้ตอบคุณสมบัติลิงค์ข้อมูล
แบ่งปัน: โปรแกรม ASP เพื่อชำระสภาพแวดล้อมเครือข่ายเพื่อกรองคำสกปรก ชำระล้างสภาพแวดล้อมเครือข่ายโปรแกรม ASP ใช้คำสบถคำต่อไปนี้เป็นเนื้อหาอ้างอิง: <!-#include file = ../conn/dbconn1.asp-> <!-#รวม