20 ตัวอย่างที่มีประโยชน์มากในการเขียนโปรแกรม ASP (1)
1. วิธีใช้ ASP เพื่อกำหนดเส้นทางทางกายภาพเสมือนของเว็บไซต์ของคุณ
คำตอบ: ใช้เมธอด Mappath: < %= Server.MapPath(/)% >
2. ฉันจะรู้ได้อย่างไรว่าเบราว์เซอร์ที่ผู้ใช้ใช้อยู่?
คำตอบ: ใช้วิธีการขอวัตถุ:
-
strBrowser=Request.ServerVariables(HTTP_USER_AGENT)
ถ้า Instr(strBrowser,MSIE) < > 0 จากนั้น
Response.redirect (formSIEOnly.htm)
อื่น
Response.redirect (ForAll.htm)
สิ้นสุดถ้า
-
3. วิธีคำนวณจำนวนผู้เข้าชมซ้ำเฉลี่ยต่อวัน
คำตอบ: วิธีแก้ปัญหา
< % วันที่เริ่มต้น=DateDiff(d,Now,01/01/1990)
ถ้า strdate< 0 ดังนั้น startdate=startdate*-1
avgvpd=Int((usercnt)/startdate) % >
แสดงผล
< % การตอบกลับเขียน (avgvpd) % >
นั่นสินะ หน้านี้เปิดดูตั้งแต่ 10 พฤศจิกายน 2541
4. วิธีการแสดงภาพแบบสุ่ม
< % สลัว p,ppic,dpic
พิค=12
สุ่ม
p=Int((ppic*rnd)+1)
dpic=graphix/randompics/&p&.gif
-
แสดง
< img src=< %=dpic% > >
5.วิธีกลับไปยังหน้าก่อนหน้า
คำตอบ: < a href=< %=request.serverVariables(Http_REFERER)% > >หน้าที่แล้ว< /a >
หรือใช้รูปภาพเช่น: < img src=arrowback.gif target='_blank'> หากเซิร์ฟเวอร์กำลังทำงานอยู่ หากกล่องโต้ตอบสามารถแสดงบนเซิร์ฟเวอร์ได้ คุณจะต้องรอจนกว่าจะมีคนคลิกตกลงก่อนที่โปรแกรมของคุณจะสามารถ ดำเนินการต่อไป โดยทั่วไปเซิร์ฟเวอร์จะไม่ได้รับการปกป้องดังนั้น Microsoft จึงต้องปิดการใช้งานฟังก์ชั่นนี้และสุ่มบอกคุณ (555) ว่าคุณไม่ได้รับอนุญาต อย่างไรก็ตาม การรวมกันของ ASP และสคริปต์ไคลเอ็นต์สามารถแสดงกล่องโต้ตอบได้ดังนี้:
<%yourVar=กล่องโต้ตอบทดสอบ%>
ฝนโปรยปรายอยู่ที่นี่
11. มีวิธีใดบ้างที่จะปกป้องซอร์สโค้ดของคุณไม่ให้ผู้อื่นเห็น?
คำตอบ: คุณสามารถดาวน์โหลด Microsoft Windows Script Encoder ซึ่งสามารถเข้ารหัสสคริปต์ 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 -> เลือกเว็บไซต์เริ่มต้น -> ปุ่มเมาส์ขวา -> คุณสมบัติเมนู -> โฮมไดเร็กตอรี่ -> การตั้งค่าแอปพลิเคชัน (การตั้งค่าแอปพลิเคชัน) -> การกำหนดค่าปุ่มคลิก -> การแมปแอพ -> ปุ่มคลิกปุ่มเพิ่ม -> เรียกดูปฏิบัติการได้ เลือก /WINNT/SYSTEM32/INETSRV/ASP.DLL EXTENSION ป้อนการยกเว้นวิธี htm ป้อน PUT.DELETE และยืนยันทุกอย่าง อย่างไรก็ตาม เป็นที่น่าสังเกตว่า htm จะถูกประมวลผลโดย asp.dll และประสิทธิภาพจะลดลง
15.วิธีการลงทะเบียนส่วนประกอบ
คำตอบ: มีสองวิธี
วิธีแรก: ลงทะเบียน DLL ด้วยตนเอง วิธีการนี้ถูกใช้ตั้งแต่ IIs 3.0 ถึง IIs 4.0 และเว็บเซิร์ฟเวอร์อื่น ๆ คุณต้องดำเนินการในโหมดบรรทัดคำสั่ง ป้อนไดเร็กทอรีที่มี DLL และป้อน: regsvr32component_name.dll ตัวอย่างเช่น c:/temp/regsvr32 AspEmail.dll โดยจะลงทะเบียนข้อมูลเฉพาะของ dll ลงใน รีจิสทรีบนเซิร์ฟเวอร์ ส่วนประกอบนั้นสามารถนำไปใช้บนเซิร์ฟเวอร์ได้ แต่มีข้อบกพร่องในแนวทางนี้ หลังจากลงทะเบียนส่วนประกอบโดยใช้วิธีนี้ ส่วนประกอบต้องตั้งค่าบัญชีที่ไม่ระบุชื่อ NT ตามนั้นเพื่อให้มีสิทธิ์ในการรัน dll โดยเฉพาะอย่างยิ่ง ส่วนประกอบบางอย่างจำเป็นต้องอ่านรีจิสทรี ดังนั้นวิธีการลงทะเบียนส่วนประกอบนี้จะใช้เฉพาะเมื่อไม่มี MTS บนเซิร์ฟเวอร์ หากต้องการยกเลิกการลงทะเบียน dll ให้ใช้: regsvr32 /u aspobject.dll ตัวอย่าง c:/temp/regsvr32 / uaneodbc.dll
วิธีที่สอง: ใช้ MTS (Microsoft Transaction Server) MTS เป็นคุณลักษณะใหม่ของ IIS 4 แต่มีการปรับปรุงอย่างมาก MTS ช่วยให้คุณระบุได้ว่าเฉพาะผู้ใช้ที่ได้รับสิทธิพิเศษเท่านั้นที่สามารถเข้าถึงส่วนประกอบต่างๆ ได้ ซึ่งช่วยปรับปรุงการตั้งค่าความปลอดภัยบนเซิร์ฟเวอร์ของเว็บไซต์ได้อย่างมาก ขั้นตอนในการลงทะเบียนส่วนประกอบบน MTS มีดังนี้:
1) เปิดคอนโซลการจัดการ IIS
2) ขยายเซิร์ฟเวอร์ธุรกรรม คลิกขวาที่ pkgs ที่ติดตั้งแล้วเลือกแพ็คเกจใหม่
3) คลิกสร้างแพ็คเกจเปล่า
4) ตั้งชื่อแพ็คเกจ
5) ระบุบัญชีผู้ดูแลระบบหรือใช้การโต้ตอบ (หากเซิร์ฟเวอร์มักเข้าสู่ระบบโดยใช้ผู้ดูแลระบบ)
6) ตอนนี้คลิกขวาที่ส่วนประกอบที่ขยายภายใต้แพ็คเกจที่คุณเพิ่งสร้างขึ้น เลือกใหม่แล้วส่วนประกอบ
7) เลือกติดตั้งส่วนประกอบใหม่
ค้นหาไฟล์ .dll ของคุณแล้วเลือกถัดไปเพื่อเสร็จสิ้น
หากต้องการลบวัตถุนี้ เพียงเลือกไอคอนแล้วเลือกลบ
หมายเหตุ: โปรดให้ความสนใจเป็นพิเศษกับวิธีที่สอง ซึ่งเป็นวิธีที่ดีที่สุดในการดีบักส่วนประกอบที่คุณเขียนโดยไม่ต้องรีสตาร์ทเครื่องทุกครั้ง
16. การเชื่อมต่อฐานข้อมูล ASP และ Access:
<%@ ภาษา=VBscript%>
-
สลัว conn, mdbfile
mdbfile=server.mappath(ชื่อฐานข้อมูล.mdb)
ตั้งค่า conn=server.createobject (adodb.connection)
ไดรเวอร์ conn.open={ไดรเวอร์การเข้าถึง Microsoft (*.mdb)};uid=admin;pwd=รหัสผ่านฐานข้อมูล;dbq=&mdbfile
-
17. การเชื่อมต่อฐานข้อมูล ASP และ SQL:
<%@ ภาษา=VBscript%>
-
การเชื่อมต่อแบบสลัว
ตั้งค่า 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 * จากตารางข้อมูล โดยที่ชื่อฟิลด์ = ค่าของฟิลด์ เรียงลำดับตามชื่อฟิลด์ [รายละเอียด]
sql=select * จากตารางข้อมูลที่ชื่อฟิลด์เช่น '%ค่าฟิลด์%' เรียงลำดับตามชื่อฟิลด์ [รายละเอียด]
sql=เลือก 10 อันดับแรก * จากตารางข้อมูล โดยที่ชื่อฟิลด์เรียงลำดับตามชื่อฟิลด์ [รายละเอียด]
sql=select * จากตารางข้อมูลที่ชื่อฟิลด์อยู่ใน ('ค่า 1', 'ค่า 2', 'ค่า 3')
sql=select * จากตารางข้อมูลที่ชื่อฟิลด์อยู่ระหว่างค่า 1 ถึงค่า 2
(2) อัปเดตบันทึกข้อมูล:
sql=update data table set field name=field value โดยที่นิพจน์แบบมีเงื่อนไข
sql=อัปเดตชุดตารางข้อมูล ฟิลด์ 1=ค่า 1 ฟิลด์ 2=ค่า 2...ฟิลด์ n=ค่า n โดยที่นิพจน์แบบมีเงื่อนไข
(3) ลบบันทึกข้อมูล:
sql=delete จากตารางข้อมูลที่มีนิพจน์แบบมีเงื่อนไข
sql=delete จากตารางข้อมูล (ลบข้อมูลทั้งหมดในตารางข้อมูล)
(4) เพิ่มบันทึกข้อมูล:
sql=ใส่ลงในตารางข้อมูล (เขต 1, เขต 2, เขต 3...) ค่าต่างๆ (ค่า 1, ค่า 2, ค่า 3...)
sql=insert ลงในตารางข้อมูลเป้าหมาย เลือก * จากตารางข้อมูลต้นฉบับ (เพิ่มบันทึกจากตารางข้อมูลต้นฉบับไปยังตารางข้อมูลเป้าหมาย)
(5) ฟังก์ชั่นการบันทึกข้อมูลทางสถิติ:
AVG(ชื่อฟิลด์) มาจากค่าเฉลี่ยคอลัมน์ของตาราง
COUNT(*|ชื่อฟิลด์) นับจำนวนแถวข้อมูลหรือนับจำนวนแถวข้อมูลที่มีค่าในคอลัมน์ใดคอลัมน์หนึ่ง
MAX (ชื่อเขตข้อมูล) รับค่าสูงสุดของคอลัมน์ในตาราง
MIN (ชื่อฟิลด์) รับค่าต่ำสุดของคอลัมน์ในตาราง
SUM (ชื่อเขตข้อมูล) บวกค่าของคอลัมน์ข้อมูล
วิธีอ้างอิงฟังก์ชันข้างต้น:
sql=select sum(ชื่อฟิลด์) เป็นนามแฝงจากตารางข้อมูลที่นิพจน์แบบมีเงื่อนไข
ตั้งค่า rs=conn.excute(sql)
ใช้ rs (นามแฝง) เพื่อรับค่าทางสถิติ และใช้วิธีการเดียวกันกับข้างต้นสำหรับฟังก์ชันอื่นๆ
(5) การสร้างและการลบตารางข้อมูล:
สร้างตาราง ชื่อตารางข้อมูล (ฟิลด์ 1 ประเภท 1 (ความยาว), ฟิลด์ 2 ประเภท 2 (ความยาว)...)
ตัวอย่าง: สร้างตาราง tab01(ชื่อ varchar(50),วันที่และเวลาเริ่มต้นตอนนี้())
ชื่อตารางข้อมูล DROP TABLE (ลบตารางข้อมูลอย่างถาวร)
19. วิธีการวัตถุชุดระเบียน:
rs.movenext ย้ายตัวชี้บันทึกลงหนึ่งบรรทัดจากตำแหน่งปัจจุบัน
rs.moveprevious ย้ายตัวชี้บันทึกขึ้นหนึ่งบรรทัดจากตำแหน่งปัจจุบัน
rs.movefirst ย้ายตัวชี้บันทึกไปที่แถวแรกของตารางข้อมูล
rs.movelast ย้ายตัวชี้บันทึกไปยังแถวสุดท้ายของตารางข้อมูล
rs.absoluteposition=N ย้ายตัวชี้บันทึกไปที่แถว N ของตารางข้อมูล
rs.absolutepage=N ย้ายตัวชี้บันทึกไปที่แถวแรกของหน้า N
rs.pagesize=N ตั้งค่าแต่ละหน้าเป็น N บันทึก
rs.pagecount ส่งคืนจำนวนหน้าทั้งหมดตามการตั้งค่าขนาดหน้า
rs.recordcount ส่งกลับจำนวนระเบียนทั้งหมด
rs.bof ส่งคืนว่าตัวชี้ระเบียนเกินจุดเริ่มต้นของตารางข้อมูลหรือไม่ จริงหมายถึงใช่ เท็จหมายถึงไม่ใช่
rs.eof ส่งคืนว่าตัวชี้ระเบียนเกินส่วนท้ายของตารางข้อมูลหรือไม่ จริงหมายถึงใช่ เท็จหมายถึงไม่ใช่
rs.delete ลบบันทึกปัจจุบัน แต่ตัวชี้บันทึกไม่เลื่อนลง
rs.addnew เพิ่มระเบียนที่ส่วนท้ายของตารางข้อมูล
rs.update อัพเดตบันทึกตารางข้อมูล
20 วิธีการวัตถุชุดระเบียน
วิธีการเปิด
ชุดระเบียน Open Source, ActiveConnection, CursorType, LockType, Options
แหล่งที่มา
วัตถุชุดระเบียนสามารถเชื่อมต่อกับวัตถุคำสั่งผ่านคุณสมบัติแหล่งที่มา พารามิเตอร์ Source อาจเป็นชื่ออ็อบเจ็กต์ Command, คำสั่ง SQL, ชื่อตารางข้อมูลที่ระบุ หรือ Stored Procedure ถ้าละเว้นพารามิเตอร์นี้ ระบบจะใช้คุณสมบัติแหล่งที่มาของวัตถุชุดระเบียน