แนะนำ: การอภิปรายสั้น ๆ เกี่ยวกับแนวคิดและการแก้ไขข้อผิดพลาดของการเขียนโปรแกรม ASP สำหรับผู้เริ่มต้นที่ใช้เทคโนโลยี ASP ในการโปรแกรมมันเป็นความรู้สึกแรกของพวกเขาที่พวกเขาไม่รู้ว่าจะเริ่มต้นอย่างไร ผู้เขียนเคยมีประสบการณ์เช่นนี้ หลังจากความยากลำบากคุณจะได้รับแรงบันดาลใจ ตอนนี้ฉันจะอุทิศประสบการณ์บางอย่างที่ฉันได้สะสมในการเขียนโปรแกรมให้กับผู้อ่าน 1
11. มีวิธีปกป้องซอร์สโค้ดของคุณเพื่อที่คุณจะได้ไม่เห็นหรือไม่?
คำตอบ: คุณสามารถดาวน์โหลดตัวเข้ารหัสสคริปต์ Microsoft Windows ซึ่งสามารถเข้ารหัสสคริปต์ ASP และสคริปต์ JavaScript/VBScript ไคลเอนต์ อย่างไรก็ตามหลังจากที่ลูกค้าถูกเข้ารหัสเฉพาะ IE5 เท่านั้นที่สามารถดำเนินการได้ หลังจากเข้ารหัสสคริปต์ฝั่งเซิร์ฟเวอร์แล้วจะมีการติดตั้งเฉพาะ Script Engine 5 บนเซิร์ฟเวอร์ (การติดตั้ง IE5 หนึ่งรายการเท่านั้น)
12. ฉันจะโอนสตริงแบบสอบถามจากไฟล์ ASP หนึ่งไปยังอีกไฟล์หนึ่งได้อย่างไร
คำตอบ: ไฟล์เดิมเพิ่มประโยคถัดไป: Response.redirect (second.asp? & request.serverVariables (query_string)))
13. ไฟล์ Global.asa ไม่ทำงานเสมอไป?
คำตอบ: เฉพาะเมื่อเว็บไดเรกทอรีถูกตั้งค่าเป็นเว็บแอปพลิเคชัน Global.asa นั้นถูกต้องและ Global.asa นั้นใช้ได้ในไดเรกทอรีรูทของเว็บแอปพลิเคชัน IIS4 สามารถใช้ Internet Service Manager เพื่อตั้งค่าการตั้งค่าแอปพลิเคชันไฟล์ HTM จะเรียกใช้รหัสสคริปต์เช่นไฟล์ ASP ได้อย่างไร
14. ไฟล์ HTM จะสามารถเรียกใช้รหัสสคริปต์เช่นไฟล์ ASP ได้อย่างไร
คำตอบ: Internet Services Manager -> เลือกเว็บไซต์เริ่มต้น -> ปุ่มเมาส์ขวา -> คุณสมบัติเมนู -> โฮมไดเรกทอรี -> การตั้งค่าแอปพลิเคชัน -> คลิกการกำหนดค่าปุ่ม -> การแมปแอป -> คลิกปุ่มเพิ่ม -> เบราว์เซอร์ที่เรียกใช้งานได้ อย่างไรก็ตามเป็นที่น่าสังเกตว่าด้วยวิธีนี้ประสิทธิภาพจะลดลง
15. วิธีลงทะเบียนส่วนประกอบ
คำตอบ: มีสองวิธี
วิธีแรก: ลงทะเบียน DLL ด้วยตนเองวิธีนี้ใช้จาก IIS 3.0 ถึง IIS 4.0 และเว็บเซิร์ฟเวอร์อื่น ๆ มันต้องการให้คุณดำเนินการในบรรทัดคำสั่งป้อนไดเรกทอรีที่มี DLL และป้อน: regsvr32 component_name.dll ตัวอย่างเช่น c:/temp/regsvr32 aspemail.dll มันจะลงทะเบียนข้อมูลเฉพาะของ DLL ลงในรีจิสทรีในเซิร์ฟเวอร์ จากนั้นส่วนประกอบนี้สามารถใช้บนเซิร์ฟเวอร์ได้ แต่วิธีนี้มีข้อบกพร่อง หลังจากลงทะเบียนส่วนประกอบโดยใช้วิธีนี้ส่วนประกอบจะต้องตั้งค่าบัญชีนิรนามที่เกี่ยวข้องกับ NT เพื่อให้ได้รับอนุญาตให้ดำเนินการ DLL นี้ โดยเฉพาะอย่างยิ่งส่วนประกอบบางอย่างจำเป็นต้องอ่านรีจิสทรีดังนั้นวิธีการลงทะเบียนส่วนประกอบจึงใช้หากไม่มี MTS บนเซิร์ฟเวอร์ หากต้องการยกเลิกการลงทะเบียน dll นี้ให้ใช้: regsvr32 /u aspobject.dll ตัวอย่าง c: /temp /regsvr32 /u aneiodbc.dll
วิธีที่สอง: การใช้ MTS (Microsoft Transaction Server) MTS เป็นคุณสมบัติใหม่ของ IIS 4 แต่ให้การปรับปรุงอย่างมาก MTS ช่วยให้คุณระบุว่ามีเพียงผู้ใช้ที่ได้รับการยกเว้นเท่านั้นที่สามารถเข้าถึงส่วนประกอบได้อย่างมากปรับปรุงการตั้งค่าความปลอดภัยบนเซิร์ฟเวอร์เว็บไซต์อย่างมาก ขั้นตอนในการลงทะเบียนส่วนประกอบบน MTS มีดังนี้:
1) เปิดคอนโซลการจัดการ IIS
2) ขยายเซิร์ฟเวอร์ธุรกรรมคลิกขวาที่ติดตั้ง PKG และเลือกแพ็คเกจใหม่
3) คลิกสร้างแพ็คเกจที่ว่างเปล่า
4) ตั้งชื่อแพ็คเกจ
5) ระบุบัญชีผู้ดูแลระบบหรือใช้การโต้ตอบ (หากเซิร์ฟเวอร์มักเข้าสู่ระบบด้วยผู้ดูแลระบบ)
6) ตอนนี้ใช้คลิกขวาที่ส่วนประกอบที่ขยายตัวด้านล่างแพ็คเกจที่คุณเพิ่งสร้าง เลือกส่วนประกอบใหม่จากนั้น
7) เลือกติดตั้งส่วนประกอบใหม่
ค้นหาไฟล์. dll ของคุณและเลือกถัดไปเพื่อเสร็จสิ้น
ในการลบวัตถุนี้เพียงเลือกไอคอนและเลือกลบ
หมายเหตุ: ให้ความสนใจเป็นพิเศษกับวิธีที่สองซึ่งเป็นวิธีที่ดีที่สุดในการดีบักส่วนประกอบที่คุณเขียนด้วยตัวเองโดยไม่ต้องรีสตาร์ทเครื่องทุกครั้ง
16. เชื่อมต่อ ASP เพื่อเข้าถึงฐานข้อมูล:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: <%@ language = vbscript%> - Dim Conn, mdbfile mdbfile = server.mappath (ชื่อฐานข้อมูล. mdb) SET Conn = Server.CreateObject (ADODB.Connection) conn.open driver = {microsoft access driver (*.mdb)}; uid = admin; pwd = รหัสผ่านฐานข้อมูล; dbq = & mdbfile - |
17. เชื่อมต่อ ASP กับฐานข้อมูล SQL:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: <%@ language = vbscript%> - หรี่ SET Conn = Server.CreateObject (ADODB.Connection) Con.open Provider = SQLoLEDB; แหล่งข้อมูล = ชื่อเซิร์ฟเวอร์ SQL หรือที่อยู่ IP; uid = sa; pwd = รหัสผ่านฐานข้อมูล; ฐานข้อมูล = ชื่อฐานข้อมูล - |
สร้างวัตถุชุดบันทึก:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: - ตั้งค่า rs = server.createObject (adodb.recordset) คำสั่ง Rs.Open SQL, Conn, 3,2 - |
18. วิธีการใช้คำสั่ง SQL ทั่วไป:
(1) การกรองข้อมูลบันทึก:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: SQL = SELECT * จากตารางข้อมูลที่ชื่อฟิลด์ = ลำดับฟิลด์สั่งซื้อตามชื่อฟิลด์ [DESC] SQL = SELECT * จากตารางข้อมูลที่ชื่อฟิลด์เช่น ' %ฟิลด์ค่า %คำสั่งซื้อตามชื่อฟิลด์ [DESC] SQL = เลือก TOP 10 * จากตารางข้อมูลที่มีการสั่งชื่อฟิลด์ตามชื่อฟิลด์ [DESC] SQL = เลือก * จากตารางข้อมูลที่ชื่อฟิลด์ใน ('ค่า 1', 'ค่า 2', 'ค่า 3') SQL = เลือก * จากตารางข้อมูลที่ชื่อฟิลด์ระหว่างค่า 1 และค่า 2 |
(2) อัปเดตข้อมูลข้อมูล:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: SQL = อัปเดตตารางข้อมูลชุดชื่อฟิลด์ = ค่าฟิลด์ที่นิพจน์เงื่อนไข SQL = อัปเดตฟิลด์ตารางข้อมูล 1 = ค่า 1, ฟิลด์ 2 = ค่า 2 ... ฟิลด์ฟิลด์ n = ค่า n โดยที่นิพจน์เงื่อนไข |
(3) ลบข้อมูลข้อมูล:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: SQL = ลบจากตารางข้อมูลที่นิพจน์เงื่อนไข SQL = ลบจากตารางข้อมูล (ลบบันทึกทั้งหมดในตารางข้อมูล) |
(4) เพิ่มบันทึกข้อมูล:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: SQL = แทรกลงในตารางข้อมูล (ฟิลด์ 1, ฟิลด์ 2, ฟิลด์ 3 …) Valuess (ค่า 1, ค่า 2, ค่า 3 …) SQL = แทรกลงในตารางข้อมูลเป้าหมายเลือก * จากตารางข้อมูลต้นฉบับ (เพิ่มบันทึกของตารางข้อมูลต้นฉบับลงในตารางข้อมูลเป้าหมาย) |
(5) ฟังก์ชั่นสถิติการบันทึกข้อมูล:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: AVG (ชื่อฟิลด์) เพื่อรับค่าเฉลี่ยของคอลัมน์ตาราง นับ (*| ชื่อฟิลด์) สถิติเกี่ยวกับจำนวนแถวข้อมูลหรือสถิติเกี่ยวกับจำนวนแถวข้อมูลที่มีค่าในคอลัมน์ที่แน่นอน สูงสุด (ชื่อฟิลด์) รับค่าสูงสุดของคอลัมน์ตาราง ขั้นต่ำ (ชื่อฟิลด์) รับค่าต่ำสุดของคอลัมน์ตาราง ผลรวม (ชื่อฟิลด์) เพิ่มค่าของคอลัมน์ข้อมูล |
อ้างอิงวิธีการทำงานด้านบน:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: SQL = เลือกผลรวม (ชื่อฟิลด์) เป็นนามแฝงจากตารางข้อมูลที่นิพจน์เงื่อนไข ตั้งค่า rs = conn.excute (SQL) |
ใช้ RS (นามแฝง) เพื่อรับสถิติและฟังก์ชั่นอื่น ๆ จะถูกใช้เช่นเดียวกับด้านบน
(5) การจัดตั้งและการลบตารางข้อมูล:
สร้างชื่อตารางข้อมูลตาราง (ฟิลด์ 1 ประเภท 1 (ความยาว), ฟิลด์ 2 ประเภท 2 (ความยาว) …)
ตัวอย่าง: สร้าง Table Tab01 (ชื่อ Varchar (50), DateTime Default Now ())
ชื่อตารางข้อมูลตาราง (ลบตารางข้อมูลอย่างถาวร)
19. วิธีการบันทึกวัตถุชุด:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: Rs.Movenext ย้ายตัวชี้บันทึกลงหนึ่งบรรทัดจากตำแหน่งปัจจุบัน Rs.MovePrevious ย้ายตัวชี้บันทึกขึ้นหนึ่งบรรทัดจากตำแหน่งปัจจุบัน Rs.MoveFirst ย้ายตัวชี้บันทึกไปยังแถวแรกของตารางข้อมูล Rs.Movelast ย้ายตัวชี้บันทึกไปยังแถวสุดท้ายของตารางข้อมูล Rs.absolutePosition = n ย้ายตัวชี้บันทึกไปยังแถว n ของตารางข้อมูล rs.absolutePage = n ย้ายตัวชี้บันทึกไปยังบรรทัดแรกของหน้า n rs.pagesize = n ตั้งค่าแต่ละหน้าเป็น N Records Rs.pagecount ส่งคืนจำนวนหน้าทั้งหมดตามการตั้งค่าของหน้าเว็บ Rs.RecordCount ส่งคืนจำนวนระเบียนทั้งหมด Rs.bof ส่งคืนว่าตัวชี้บันทึกเกินหัวของตารางข้อมูลหรือไม่ จริงหมายถึงใช่เท็จคือไม่ RS.EOF ส่งคืนว่าตัวชี้การบันทึกเกินกว่าจุดสิ้นสุดของตารางข้อมูลจริงวิธีการจริงใช่หรือไม่เท็จไม่ใช่ Rs.Delete ลบระเบียนปัจจุบัน แต่ตัวชี้บันทึกไม่เลื่อนลง Rs.AddNew เพิ่มระเบียนที่ส่วนท้ายของตารางข้อมูล Rs.Update Update Data Table Records |
20. วิธีวัตถุ recordset
วิธีเปิด
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: recordSet.Open แหล่งที่มา, ActiveConnection, Cursortype, Locktype, Options แหล่งที่มา วัตถุ RecordSet สามารถเชื่อมต่อกับวัตถุคำสั่งผ่านคุณสมบัติแหล่งที่มา พารามิเตอร์ต้นทางสามารถเป็นชื่อวัตถุคำสั่ง, คำสั่ง SQL, ชื่อตารางข้อมูลที่ระบุหรือขั้นตอนที่เก็บไว้ หากมีการละเว้นพารามิเตอร์นี้ระบบจะใช้คุณสมบัติต้นฉบับของวัตถุ RecordSet |
แบ่งปัน: การเขียนโปรแกรมขั้นสูง ASP 3.0 (39) 8.4.3 มันง่ายมากที่จะสร้างชุดระเบียน มันถูกนำไปใช้โดยการเรียกใช้วิธีการเปิดของวัตถุ RecordSet: recordSet.Open [แหล่งที่มา], [ActiveConnection], [Cursortype], [Locktype], [ตัวเลือก] พารามิเตอร์และคำอธิบายดังแสดงในตารางที่ 8-