20 ASP item ที่มือใหม่ควรจำ
1. วิธีใช้ ASP เพื่อกำหนดเส้นทางทางกายภาพเสมือนของเว็บไซต์ของคุณ
คำตอบ: ใช้วิธี Mappath
< p align=center >< ขนาดตัวอักษร=4 face=Arial >< b >
เส้นทางทางกายภาพไปยังเว็บไซต์เสมือนนี้คือ:
</b >< /แบบอักษร >
< สีตัวอักษร=#FF0000 ขนาด=6 หน้า=Arial >
< %= เซิร์ฟเวอร์ MapPath(/)% >
</font >< /p >
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=ทดสอบกล่องโต้ตอบ % >
< % ภาษาสคริปต์='จาวาสคริปต์' >
การแจ้งเตือน (< %=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 YSTEM32/INETSRV/ASP.DLL EXTENSION ป้อนการยกเว้นวิธี htm ป้อน PUT.DELETE และยืนยันทุกอย่าง อย่างไรก็ตาม เป็นที่น่าสังเกตว่า htm จะถูกประมวลผลโดย asp.dll และประสิทธิภาพจะลดลง
15.วิธีการลงทะเบียนส่วนประกอบ
คำตอบ: มีสองวิธี
วิธีแรก: ลงทะเบียน DLL ด้วยตนเอง วิธีการนี้ถูกใช้ตั้งแต่ IIs 3.0 ถึง IIs 4.0 และเว็บเซิร์ฟเวอร์อื่น ๆ คุณต้องดำเนินการจากบรรทัดคำสั่ง ป้อนไดเร็กทอรีที่มี DLL และป้อน: regsvr32 component_name.dll เช่น c:/temp egsvr32 AspEmail.dll โดยจะลงทะเบียนข้อมูลเฉพาะของ dll ลงในรีจิสทรี บนเซิร์ฟเวอร์ ส่วนประกอบนั้นสามารถนำไปใช้บนเซิร์ฟเวอร์ได้ แต่มีข้อบกพร่องในแนวทางนี้ หลังจากลงทะเบียนส่วนประกอบโดยใช้วิธีนี้ ส่วนประกอบต้องตั้งค่าบัญชีที่ไม่ระบุชื่อ NT ตามนั้นเพื่อให้มีสิทธิ์ในการรัน dll โดยเฉพาะอย่างยิ่ง ส่วนประกอบบางอย่างจำเป็นต้องอ่านรีจิสทรี ดังนั้นวิธีการลงทะเบียนส่วนประกอบนี้จะใช้เฉพาะเมื่อไม่มี MTS บนเซิร์ฟเวอร์ หากต้องการยกเลิกการลงทะเบียน dll ให้ใช้: regsvr32 /u aspobject.dll ตัวอย่าง c:/temp egsvr32 / uaneodbc .dll
วิธีที่สอง: ใช้ MTS (Microsoft Transaction Server) MTS เป็นคุณลักษณะใหม่ของ IIS 4 แต่มีการปรับปรุงอย่างมาก MTS ช่วยให้คุณระบุได้ว่าเฉพาะผู้ใช้ที่ได้รับสิทธิพิเศษเท่านั้นที่สามารถเข้าถึงส่วนประกอบต่างๆ ได้ ซึ่งช่วยปรับปรุงการตั้งค่าความปลอดภัยบนเซิร์ฟเวอร์ของเว็บไซต์ได้อย่างมาก ขั้นตอนในการลงทะเบียนส่วนประกอบบน MTS มีดังนี้:
1) เปิดคอนโซลการจัดการ IIS
2) ขยายเซิร์ฟเวอร์ธุรกรรม คลิกขวาที่ pkgs ที่ติดตั้งแล้วเลือกแพ็คเกจใหม่
3) คลิกสร้างแพ็คเกจเปล่า
4) ตั้งชื่อแพ็คเกจ
5) ระบุบัญชีผู้ดูแลระบบหรือใช้การโต้ตอบ (หากเซิร์ฟเวอร์มักเข้าสู่ระบบโดยใช้ผู้ดูแลระบบ)
6) ตอนนี้คลิกขวาที่ส่วนประกอบที่ขยายภายใต้แพ็คเกจที่คุณเพิ่งสร้างขึ้น เลือกใหม่แล้วส่วนประกอบ
7) เลือกติดตั้งส่วนประกอบใหม่ [b]
8) ค้นหาไฟล์ .dll ของคุณแล้วเลือกถัดไปเพื่อเสร็จสิ้น
หากต้องการลบวัตถุนี้ เพียงเลือกไอคอนแล้วเลือกลบ
หมายเหตุ: โปรดให้ความสนใจเป็นพิเศษกับวิธีที่สอง ซึ่งเป็นวิธีที่ดีที่สุดในการดีบักส่วนประกอบที่คุณเขียนโดยไม่ต้องรีสตาร์ทเครื่องทุกครั้ง
16. การเชื่อมต่อฐานข้อมูล ASP และ Access:
17. การเชื่อมต่อฐานข้อมูล ASP และ SQL:
สร้างวัตถุชุดระเบียน:
ตั้งค่า 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 ถ้าละเว้นพารามิเตอร์นี้ ระบบจะใช้คุณสมบัติแหล่งที่มาของวัตถุชุดระเบียน
การเชื่อมต่อที่ใช้งานอยู่
วัตถุชุดระเบียนสามารถเชื่อมต่อกับวัตถุการเชื่อมต่อผ่านคุณสมบัติ ActiveConnection ActiveConnection ที่นี่อาจเป็นวัตถุการเชื่อมต่อหรือสตริงของพารามิเตอร์สตริงที่มีข้อมูลการเชื่อมต่อฐานข้อมูล (ConnectionString)
ประเภทเคอร์เซอร์
พารามิเตอร์ CursorType ของวิธีการ Open ของออบเจ็กต์ Recordset ระบุประเภทของเคอร์เซอร์ที่ข้อมูลจะเริ่มต้นด้วย รวมถึง adOpenForwardOnly, adOpenKeyset, adOpenDynamic และ adOpenStatic ตามที่อธิบายไว้ด้านล่าง:
-------------------------------------------------- -------------------------------------------------- ----------
คำอธิบายค่าคงที่คงที่
-------------------------------------------------- -------------------------------------------------- ----------
adOpenForwardOnly 0 ค่าเริ่มต้น เริ่มเคอร์เซอร์ที่สามารถเลื่อนไปข้างหน้าได้เท่านั้น (ไปข้างหน้าเท่านั้น)
adOpenKeyset 1 เริ่มเคอร์เซอร์ประเภทชุดคีย์
adOpenDynamic 2 เริ่มเคอร์เซอร์ประเภทไดนามิก
adOpenStatic 3 เริ่มเคอร์เซอร์ประเภทคงที่
-------------------------------------------------- -------------------------------------------------- ----------
ประเภทเคอร์เซอร์ด้านบนจะส่งผลโดยตรงต่อคุณสมบัติและวิธีการทั้งหมดของวัตถุ Recordset
-------------------------------------------------- -------------------------------------------------- ----------
คุณสมบัติชุดระเบียน adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic
-------------------------------------------------- -------------------------------------------------- ----------
AbsolutePage ไม่รองรับการอ่านและการเขียน
ไม่รองรับ AbsolutePosition
ActiveConnection อ่าน-เขียน อ่าน-เขียน อ่าน-เขียน อ่าน-เขียน
BOF อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว
ไม่รองรับบุ๊กมาร์ก สามารถอ่านและเขียนได้
CacheSize อ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้
ตำแหน่งเคอร์เซอร์ สามารถอ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้
ประเภทเคอร์เซอร์ อ่านและเขียน อ่านและเขียน อ่านและเขียน อ่านและเขียน
EditMode อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว
EOF อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว
ตัวกรอง อ่านได้และเขียนได้ อ่านได้และเขียนได้ อ่านได้และเขียนได้ อ่านได้และเขียนได้
LockType อ่านและเขียน อ่านและเขียน อ่านและเขียน อ่านและเขียน
MarshalOptions อ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้
MaxRecords อ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้
PageCount ไม่รองรับการอ่านอย่างเดียว อ่านอย่างเดียว
PageSize อ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้ อ่านและเขียนได้
RecordCount ไม่รองรับการอ่านอย่างเดียว อ่านอย่างเดียว
แหล่งที่มา อ่านและเขียนได้ อ่านได้และเขียนได้ อ่านได้และเขียนได้ อ่านได้และเขียนได้
สถานะ อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว
สถานะ อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว อ่านอย่างเดียว
เพิ่มใหม่ การสนับสนุน การสนับสนุน การสนับสนุน การสนับสนุน
การสนับสนุน CancelBatch สนับสนุน สนับสนุน สนับสนุน
ยกเลิกอัปเดต การสนับสนุน การสนับสนุน การสนับสนุน การสนับสนุน
ไม่รองรับการโคลน
ปิดการสนับสนุน สนับสนุน สนับสนุน สนับสนุน
ลบการสนับสนุน สนับสนุน สนับสนุน สนับสนุน
GetRows สนับสนุน สนับสนุน สนับสนุน สนับสนุน
ไม่รองรับการเคลื่อนย้าย รองรับ รองรับ
การสนับสนุน MoveFirst สนับสนุน สนับสนุน สนับสนุน
ไม่รองรับ MoveLast รองรับ รองรับ รองรับ
การสนับสนุน MoveNext สนับสนุน สนับสนุน สนับสนุน
MovePrevious ไม่รองรับ รองรับ รองรับ
การสนับสนุน NextRecordset สนับสนุน สนับสนุน สนับสนุน
เปิดการสนับสนุนการสนับสนุนการสนับสนุนการสนับสนุน
ร้องขอการสนับสนุนสนับสนุนสนับสนุนสนับสนุน
ไม่รองรับการซิงค์ซ้ำ ไม่รองรับ รองรับ รองรับ
รองรับ
อัปเดต การสนับสนุน การสนับสนุน การสนับสนุน การสนับสนุน
การสนับสนุน UpdateBatch สนับสนุนการสนับสนุนสนับสนุน
-------------------------------------------------- -------------------------------------------------- ----------
วิธีการ NextRecordset ใช้ไม่ได้กับฐานข้อมูล Microsoft Access
ประเภทล็อค
พารามิเตอร์ LockType ของวิธีการเปิดของวัตถุ Recordset ระบุประเภทการล็อคที่จะใช้ หากพารามิเตอร์นี้ถูกละเว้น ระบบจะใช้คุณสมบัติ LockType ของวัตถุ Recordset เป็นค่าเริ่มต้น พารามิเตอร์ LockType ประกอบด้วย adLockReadOnly, adLockPrssimistic, adLockOptimistic และ adLockBatchOptimistic ฯลฯ ซึ่งมีคำอธิบายดังต่อไปนี้:
-------------------------------------------------- -------------------------------------------------- ----------
คำอธิบายค่าคงที่คงที่
-------------------------------------------------- -------------------------------------------------- ----------
adLockReadOnly 1 ค่าเริ่มต้น วัตถุชุดระเบียนเริ่มต้นในโหมดอ่านอย่างเดียว ไม่สามารถเรียกใช้ AddNew อัปเดต ลบ และวิธีการอื่น ๆ
adLockPrssimistic 2 เมื่อมีการอัพเดตแหล่งข้อมูล ระบบจะล็อคการกระทำของผู้ใช้รายอื่นชั่วคราวเพื่อรักษาความสอดคล้องของข้อมูล
adLockOptimistic 3 เมื่อมีการอัพเดตแหล่งข้อมูล ระบบจะไม่ล็อคการกระทำของผู้ใช้รายอื่น และผู้ใช้รายอื่นสามารถเพิ่ม ลบ และแก้ไขข้อมูลได้
adLockBatchOptimistic 4 เมื่อมีการอัปเดตแหล่งข้อมูล ผู้ใช้รายอื่นจะต้องเปลี่ยนแอตทริบิวต์ CursorLocation เป็น adUdeClientBatch เพื่อเพิ่ม ลบ หรือแก้ไขข้อมูล