ถาม: เหตุใดค่า RecordCount ของชุดระเบียนของฉันจึงส่งคืน -1 เสมอ
คำตอบ: คุณควรใช้โหมดนี้เพื่อเปิดชุดระเบียนสำหรับการเข้าถึงฐานข้อมูล:
rec.openstrSQL,conn,1,1
ในหมู่พวกเขา strSQL คือคำสั่ง SQL เพื่อดำเนินการฐานข้อมูล conn คือตัวแปรการเชื่อมต่อเพื่อเชื่อมต่อกับฐานข้อมูล
คำถาม: ฉันได้เขียนความคิดเห็นมากมายในสคริปต์ ASP สิ่งนี้จะส่งผลต่อความเร็วของเซิร์ฟเวอร์ที่ประมวลผลไฟล์ ASP หรือไม่
คำตอบ: หลังจากการทดสอบโดยบุคลากรด้านเทคนิคจากต่างประเทศ ประสิทธิภาพโดยรวมของไฟล์ ASP ที่มีความคิดเห็นมากเกินไปจะลดลงเพียง 0.1% ซึ่งหมายความว่าโดยพื้นฐานแล้วจะไม่ส่งผลกระทบต่อประสิทธิภาพของเซิร์ฟเวอร์
ถาม: ฉันจำเป็นต้องใช้มันที่จุดเริ่มต้นของไฟล์ ASP ทุกไฟล์หรือไม่
คำตอบ: หากภาษาสคริปต์ที่คุณใช้คือ VBScript โปรดอย่าใช้คำสั่งนี้ ไม่เช่นนั้นประสิทธิภาพโดยรวมของโปรแกรมจะลดลงเกือบ 1.2% อย่างไรก็ตาม หากคุณไม่ได้ใช้ภาษา VBScript โปรดใช้คำสั่งนี้
ถาม: ฉันจำเป็นต้องใช้ OptionExplicit ในไฟล์ ASP ทุกไฟล์หรือไม่
คำตอบ: คุณควรทำเช่นนี้ เนื่องจากจะช่วยลดโอกาสที่จะเกิดข้อผิดพลาดในโปรแกรมของคุณ และปรับปรุงประสิทธิภาพโดยรวมได้เกือบ 9.8%
คำถาม: คุณลักษณะใหม่ของ ASP3.0 ที่เพิ่งปรากฏพร้อมกับ IIS5.0 คืออะไร
คำตอบ: ที่จริงแล้ว ไม่มีการเปลี่ยนแปลงใหม่ แต่มีการเพิ่มวิธีการใหม่ของออบเจ็กต์เซิร์ฟเวอร์สองวิธี:
Server.Transfer และ Server.Excute และวัตถุใหม่ ASPError สำหรับคำแนะนำการใช้งานเฉพาะ โปรดดูที่เว็บไซต์ของ Microsoft www.microsoft.com
คำถาม: เหตุใดฉันจึงได้รับข้อผิดพลาดเมื่อใช้ Response.Redirect
คำตอบ: สาเหตุที่พบบ่อยที่สุดคือคุณแก้ไขส่วนหัว HTTP หลังจากเขียนเพจ วิธีแก้ไขคือเขียนที่จุดเริ่มต้นของหน้า
คำถาม: ดูเหมือนว่าวิธี Redirect สามารถเปลี่ยนเส้นทางไปยังเฟรมเดียวกันได้หรือไม่
คำตอบ: ใช่ คุณต้องเพิ่มสิ่งนี้:. จากนั้นเมื่อคุณใช้
เมื่อเรียกใช้เมธอด Redirect มันจะถูกเปลี่ยนเส้นทางไปยังเฟรมชื่อ FrameName
คำถาม: เหตุใดเซสชันจึงมักหายไปในหน้า ASP ของหน้าต่างใหม่ที่ฉันเปิดโดยใช้เมธอด Window.open()
คำตอบ: สถานการณ์นี้มักเกิดขึ้นใน IE4.x ของ Microsoft แต่ข้อผิดพลาดนี้ได้รับการแก้ไขแล้วใน IE5.x ดังนั้น เพื่อให้เข้ากันได้กับทุกเบราว์เซอร์ คุณสามารถใช้วิธี เช่น test.asp?name=xxx เพื่อส่งพารามิเตอร์ระหว่างหน้าต่างได้ ผลกระทบนี้จะดีกว่า โปรดทราบว่าหากพารามิเตอร์ที่ส่งผ่านมีความสำคัญมาก โปรดอย่าทำเช่นนั้น ใช้มัน ส่งผ่านข้อความที่ชัดเจนมิฉะนั้นจะนำไปสู่ปัญหาด้านความปลอดภัยได้ง่าย
คำถาม: มักจะเห็นว่ามีสองวิธีในการเชื่อมต่อกับฐานข้อมูล DSN และ DSN-LESS หมายความว่าอย่างไร มีความแตกต่างหรือไม่?
คำตอบ: DSN เป็นตัวย่อของ DataSourceName ภาษาอังกฤษ วิธี DSN เป็นวิธีการเชื่อมต่อของแหล่งข้อมูล สามารถตั้งค่าแหล่งข้อมูลนี้ได้ใน ODBCDataSources ในแผงควบคุม จากนั้นใช้ดังนี้:
Conn.OpenDSN=ทดสอบ;UID=ผู้ดูแลระบบ;PWD=;
การทดสอบคือชื่อของแหล่งข้อมูลที่คุณตั้งค่าเอง โปรดทราบว่าคุณต้องใช้ UID และ PWD ในเวลาเดียวกัน มิฉะนั้นจะเกิดข้อผิดพลาด
ในทำนองเดียวกัน DSN-LESS เป็นวิธีการเชื่อมต่อที่ไม่ใช่แหล่งข้อมูล วิธีการใช้งานคือ:
Conn.OpenDriver={MicrosoftAccessDriver
(*.mdb)};Dbq=/somepath/mydb.mdb;Uid=ผู้ดูแลระบบ;Pwd=;
ภายใต้สภาพแวดล้อมฮาร์ดแวร์เดียวกัน วิธี DSN-LESS จะมีประสิทธิภาพสูงกว่าวิธี DSN อย่างไรก็ตาม เมื่อซอร์สโค้ด ASP รั่วไหลโดยผู้อื่นเนื่องจากปัญหาด้านความปลอดภัยบางอย่าง บัญชีฐานข้อมูลและรหัสผ่านจะรั่วไหล ดังนั้นทั้งสองวิธีนี้ มีข้อดีและข้อเสีย
คำถาม: มีความแตกต่างระหว่างการใช้วิธี AddNew ของ ADO ใน ASP และการใช้คำสั่ง Insertinto... โดยตรงหรือไม่ วิธีไหนดีกว่ากัน?
คำตอบ: วิธีการ AddNew ของ ADO จะห่อหุ้มคำสั่ง Insertinto เท่านั้น ดังนั้น เมื่อดำเนินการกับข้อมูลจำนวนมาก การใช้คำสั่ง SQL โดยตรงจะช่วยเพิ่มความเร็วในการเข้าถึงข้อมูลอย่างมาก เนื่องจากจะช่วยลดเวลาการแปลของ ADO แม้ว่าคำสั่ง SQL จะไม่ง่ายที่จะยอมรับได้เหมือนกับ AddNew และคำสั่งอื่น ๆ แต่สิ่งสำคัญมากคือต้องเรียนรู้คำสั่ง SQL ที่ใช้กันทั่วไปในการเขียนโปรแกรมฐานข้อมูล
คำถาม: เหตุใดจึงเกิดข้อผิดพลาดเมื่อฉันแทรกประโยคนี้ (ไปกันเลย!) ลงในฐานข้อมูล
คำตอบ: เนื่องจากฐานข้อมูลส่วนใหญ่ (Access, MSSQLServer) ใช้เครื่องหมายคำพูดเดี่ยวเป็นตัวคั่น คุณจึงไม่สามารถแทรกเครื่องหมายคำพูดเดี่ยวลงในฐานข้อมูลได้โดยตรง คุณต้องแทนที่เครื่องหมายคำพูดแต่ละรายการก่อนดำเนินการคำสั่ง SQL ให้เป็นสองเครื่องหมายคำพูด:
MyData=Replace(MyData,','',1) จากนั้นให้บันทึกลงในฐานข้อมูล
1. คำถาม: ASP เป็นภาษาโปรแกรมหรือไม่
คำตอบ: ASP ไม่ใช่ภาษาการเขียนโปรแกรม แต่เป็นสภาพแวดล้อมการพัฒนา ASP จัดเตรียมสภาพแวดล้อมสำหรับการดำเนินการคำสั่งทางฝั่งเซิร์ฟเวอร์ โดยจะใช้สัญลักษณ์พิเศษ () เพื่อแยกความแตกต่าง HTML จากคำสั่งที่ต้องแปลโดยเซิร์ฟเวอร์ก่อนที่จะส่งไปยังไคลเอนต์ คำแนะนำที่สามารถใช้งานได้ ได้แก่ ภาษา HTML, MicrosoftVBScript และ MicrosoftJscript ฯลฯ ดังนั้นจึงสามารถสร้างเว็บแอปพลิเคชันที่มีประสิทธิภาพได้
2. คำถาม: PWS สามารถใช้โฮสต์หลายเว็บไซต์บนเว็บเซิร์ฟเวอร์ได้หรือไม่
คำตอบ: PWS สามารถรองรับเว็บไซต์ได้เพียงเว็บไซต์เดียว เพื่อโฮสต์หลายเว็บไซต์บนคอมพิวเตอร์เครื่องเดียวกัน คุณต้องใช้ Windows NT Server หรือ Windows 2000 Server/Professional และ IIS
3. คำถาม: จะใช้ออบเจ็กต์ ASP ในตัว 6 รายการได้อย่างไร
คำตอบ: ASP มีวัตถุฝังตัวหลายตัว ซึ่งสามารถเข้าถึงได้โดยตรงและใช้ในคำแนะนำโดยไม่ต้องสร้างวัตถุเหล่านี้ส่วนใหญ่ประกอบด้วย: วัตถุคำขอ, วัตถุตอบสนอง, วัตถุเซสชัน, วัตถุแอปพลิเคชัน, วัตถุเซิร์ฟเวอร์, วัตถุคุกกี้, วัตถุเซิร์ฟเวอร์ในจำนวนเหล่านี้ หกวัตถุสามารถโหลดส่วนประกอบอื่น ๆ ซึ่งสามารถขยายการทำงานของ ASP
วงจรชีวิตของอ็อบเจ็กต์ที่สร้างขึ้นโดยใช้ Server.CreateObject เริ่มต้นเมื่อมีการสร้างและสิ้นสุดเมื่อโปรแกรมเว็บเพจที่อ็อบเจ็กต์ตั้งอยู่สิ้นสุดลง หากคุณต้องการใช้ออบเจ็กต์ข้ามเว็บเพจ คุณสามารถใช้ออบเจ็กต์เซสชันเพื่อบันทึกออบเจ็กต์ที่สร้างโดย Server.CreateObject
4. คำถาม: เหตุใดจึงเกิดข้อผิดพลาดต่อไปนี้เมื่อใช้ Response.Redirect: ชื่อผิด ชื่อ HTTP ถูกเขียนไปยังเบราว์เซอร์ไคลเอ็นต์ และต้องทำการแก้ไขชื่อ HTTP ก่อนที่จะเขียนเนื้อหาเพจ
คำตอบ: Response.Redirect สามารถถ่ายโอนหน้าเว็บไปยังหน้าเว็บอื่นได้ โครงสร้างไวยากรณ์ที่ใช้มีดังนี้: Response.Redirect URL โดยที่ URL อาจเป็นที่อยู่แบบสัมพันธ์หรือที่อยู่แบบสัมบูรณ์ แต่ใช้ใน IIS4.0 และ IIS5.0 มีความแตกต่าง
จะต้องดำเนินการถ่ายโอนหน้าเว็บใน IIS4.0 ก่อนที่ข้อมูลใด ๆ จะถูกส่งออกไปยังเบราว์เซอร์ไคลเอนต์ มิฉะนั้นจะเกิดข้อผิดพลาด ข้อมูลที่เรียกว่าที่นี่รวมถึงแท็ก HTML เช่น: ฯลฯ ซึ่งได้รับการปรับปรุงใน IIS5.0 บัฟเฟอร์ถูกเปิดใช้งานตามค่าเริ่มต้นใน IIS5.0 และข้อผิดพลาดดังกล่าวจะไม่เกิดขึ้นอีกต่อไป
มีแอตทริบิวต์บัฟเฟอร์ในวัตถุการตอบสนอง คุณลักษณะนี้สามารถตั้งค่าได้ว่าเว็บไซต์จะส่งข้อมูลไปยังไคลเอนต์ทันทีหลังจากประมวลผล ASP หรือไม่ แต่ต้องตั้งค่าแอตทริบิวต์นี้ก่อนที่จะส่งข้อมูลใด ๆ ไปยังไคลเอนต์ด้วย
เพื่อความปลอดภัย ไม่ว่าจะใช้แพลตฟอร์มที่รัน ASP ใดก็ตาม ให้ตั้งค่าบัฟเฟอร์ให้เปิดที่จุดเริ่มต้นของเพจเพื่อไม่ให้เกิดข้อผิดพลาดดังกล่าว
5. คำถาม: บัฟเฟอร์เอาท์พุตมีผลกระทบต่อการส่งผ่านหน้าเว็บหรือไม่?
คำตอบ: ในหน้าเว็บที่มีขนาดค่อนข้างใหญ่ อาจมีความล่าช้าในส่วนแรกที่ปรากฏในเบราว์เซอร์ แต่การโหลดหน้าเว็บทั้งหมดจะเร็วกว่าไม่มีการบัฟเฟอร์
6. คำถาม: สามารถใช้คอลเลกชัน Request.QueryString เพื่อสอบถามค่าสตริงเมื่อไม่มีการส่งแบบฟอร์มได้หรือไม่
คำตอบ: วัตถุคำขอใช้เพื่ออ่านข้อมูลเบราว์เซอร์ นอกเหนือจากการอ่านเนื้อหาของฟิลด์แบบฟอร์มแล้ว ยังสามารถใช้เพื่ออ่านพารามิเตอร์ที่แนบมากับ URL ไม่ว่าจะเพิ่มสตริงคำขอไปยังที่อยู่ลิงก์อย่างไร คำขอไม่มีความแตกต่าง คุณสามารถใช้คอลเลกชัน Request.QueryString เพื่อส่งแบบฟอร์มโดยใช้วิธีการ get หรือติดตามลิงก์ที่มีสตริงการสืบค้นเพิ่มเติมเพื่อสืบค้นค่าทั้งหมดในสตริง
7. คำถาม: ฉันเขียนความคิดเห็นจำนวนมากในสคริปต์ ASP สิ่งนี้จะส่งผลต่อความเร็วของเซิร์ฟเวอร์ที่ประมวลผลไฟล์ ASP หรือไม่
คำตอบ: ในขั้นตอนการเขียนโปรแกรมมันเป็นนิสัยที่ดีในการแสดงความคิดเห็น ผ่านการทดสอบโดยช่างเทคนิคชาวต่างชาติ ประสิทธิภาพโดยรวมของไฟล์ ASP ที่มีความคิดเห็นมากเกินไปจะลดลงเพียง 0.1% ซึ่งหมายความว่าในแอปพลิเคชันจริง ประสิทธิภาพของเซิร์ฟเวอร์โดยพื้นฐานแล้วจะไม่รู้สึกว่าลดลง
8. คำถาม: ฉันจำเป็นต้องใช้มันที่จุดเริ่มต้นของไฟล์ ASP แต่ละไฟล์หรือไม่?
คำตอบ: รหัสที่ใช้ตอนต้นของไฟล์ ASP แต่ละไฟล์ใช้เพื่อแจ้งเซิร์ฟเวอร์ว่าขณะนี้มีการใช้ VBScript ในการเขียนโปรแกรม อย่างไรก็ตาม เนื่องจากภาษาการเขียนโปรแกรมเริ่มต้นของ ASP คือ VBScript จึงสามารถทำงานได้ตามปกติแม้ว่าโค้ดจะถูกละเว้นก็ตาม อย่างไรก็ตาม หากภาษาสคริปต์ของโปรแกรมคือ With JavaScript คุณจะต้องระบุภาษาสคริปต์ที่ใช้ในบรรทัดแรกของโปรแกรม
9. คำถาม: ฉันจำเป็นต้องใช้ OptionExplicit ในไฟล์ ASP ทุกไฟล์หรือไม่? คำตอบ: ในการใช้งานจริง แนวคิดของตัวแปร VBScript ถูกเบลอ ทำให้สามารถใช้ตัวแปรได้โดยตรงโดยไม่ต้องใช้ Dim ในการประกาศตัวแปร อย่างไรก็ตาม นี่ไม่ใช่นิสัยที่ดีและอาจทำให้เกิดข้อผิดพลาดของโปรแกรมได้ง่ายเนื่องจากอาจมีการกำหนดตัวแปรซ้ำๆ เราสามารถใช้คำสั่ง OptionExplicit ในโปรแกรม ดังนั้นเมื่อใช้ตัวแปร จะต้องประกาศก่อน หากใช้ตัวแปรที่ไม่ได้ประกาศ โปรแกรมจะเกิดข้อผิดพลาดระหว่างรันไทม์
แนวทางปฏิบัติได้พิสูจน์แล้วว่าการใช้ OptionExplicit ในไฟล์ ASP สามารถลดโอกาสที่จะเกิดข้อผิดพลาดของโปรแกรมและปรับปรุงประสิทธิภาพโดยรวมได้อย่างมาก
10. คำถาม: มาตรการรักษาความปลอดภัยเมื่อเรียกใช้ไฟล์ ASP คืออะไร?
คำตอบ: ASP มีกลไกการป้องกันโค้ดที่ดี รหัส ASP ทั้งหมดจะดำเนินการบนฝั่งเซิร์ฟเวอร์และส่งคืนเฉพาะผลการดำเนินการของโค้ดไคลเอ็นต์เท่านั้น อย่างไรก็ตาม ยังคงไม่ได้รับการยกเว้นว่าผู้ประสงค์ร้ายสามารถสร้างความเสียหายให้กับเว็บเซิร์ฟเวอร์โดยเจตนา ดังนั้นคุณควรให้ความสำคัญกับปัญหาด้านความปลอดภัยมากขึ้นเมื่อเขียนไฟล์ ASP
แม้ว่าไฟล์ที่นำเข้าใน ASP จะใช้ inc เป็นส่วนขยาย แต่ก็ยังแนะนำให้ใช้ ASP เป็นส่วนขยายของไฟล์ที่นำเข้า เมื่อรหัสเหล่านี้ทำงานบนเว็บเซิร์ฟเวอร์ที่มีกลไกการรักษาความปลอดภัยที่ไม่ดี คุณจะต้องป้อนที่อยู่ของไฟล์ที่นำเข้าในแถบที่อยู่เท่านั้น (inc คือส่วนขยาย) และคุณสามารถเรียกดูเนื้อหาของไฟล์ที่นำเข้าได้ นี่เป็นเพราะว่าเปิดอยู่ เว็บเซิร์ฟเวอร์ หากไม่มี เมื่อมีการกำหนดไลบรารีลิงก์แบบไดนามิกที่แยกวิเคราะห์บางประเภท (เช่น inc) ไฟล์จะแสดงในโหมดซอร์สโค้ด
นอกจากนี้ อย่าวางไฟล์ฐานข้อมูลไว้ในโครงสร้างเว็บไซต์ ด้วยวิธีนี้ เมื่อผู้ประสงค์ร้ายได้รับเส้นทางฐานข้อมูล พวกเขาสามารถรับฐานข้อมูลได้อย่างง่ายดาย จากนั้นจึงเปลี่ยนเนื้อหาฐานข้อมูลโดยพลการ แนวทางที่ดีกว่าคือการสร้างชื่อแหล่งข้อมูล DSN (DateSourceName) สำหรับฐานข้อมูล ข้อมูลเกี่ยวกับการเชื่อมต่อกับผู้ให้บริการข้อมูลที่ระบุจะถูกจัดเก็บไว้ใน DSN รวมถึง: ตำแหน่งทางกายภาพของฐานข้อมูล ประเภทของไดรเวอร์ที่ใช้ในการเข้าถึงฐานข้อมูล เข้าถึงพารามิเตอร์อื่นๆ ที่จำเป็นโดยไดรเวอร์ฐานข้อมูลได้โดยตรงจาก DSN ในระหว่างการเข้าถึงฐานข้อมูล
11. คำถาม: ประเด็นใดที่ควรพิจารณาเมื่อประเมินระบบการจัดการฐานข้อมูลบนเว็บ
คำตอบ: เมื่อประเมินระบบการจัดการฐานข้อมูลบนเว็บ จะต้องพิจารณาประเด็นสามประการ: ปัญหาเกี่ยวกับผู้ใช้หลายราย ฐานข้อมูลบนเว็บที่สร้างขึ้นควรเป็นเรื่องเชิงสัมพันธ์ และปัญหาด้านความปลอดภัยของฐานข้อมูล 12. คำถาม: ADO คืออะไร และดำเนินการกับฐานข้อมูลอย่างไร
12. คำถาม: ADO คืออะไร และดำเนินการกับฐานข้อมูลอย่างไร
คำตอบ: ชื่อเต็มของ ADO คือ ActiveXDataObject (ActiveX Data Object) ซึ่งเป็นชุดของออบเจ็กต์พิเศษที่ปรับให้เหมาะสมสำหรับการเข้าถึงฐานข้อมูล โดยให้โซลูชันฐานข้อมูลไซต์ที่สมบูรณ์สำหรับ ASP โดยทำหน้าที่บนฝั่งเซิร์ฟเวอร์และมีโฮมเพจที่มีข้อมูลฐานข้อมูล . เนื้อหาโดยการรันคำสั่ง SQL อนุญาตให้ผู้ใช้ป้อน อัปเดต และลบข้อมูลในฐานข้อมูลไซต์ในหน้าจอเบราว์เซอร์
ADO ส่วนใหญ่ประกอบด้วยสามออบเจ็กต์: การเชื่อมต่อ ชุดระเบียน และคำสั่ง ฟังก์ชันหลักมีดังนี้:
·วัตถุการเชื่อมต่อ: รับผิดชอบในการเปิดหรือเชื่อมต่อกับไฟล์ฐานข้อมูล
·วัตถุชุดระเบียน: เข้าถึงเนื้อหาของฐานข้อมูล
·อ็อบเจ็กต์คำสั่ง: ออกคำแนะนำการดำเนินการแบบสอบถามไปยังฐานข้อมูลและดำเนินการขั้นตอนการจัดเก็บ SQL Server
13. คำถาม: การใช้ Recordset object และ Command object ในการเข้าถึงฐานข้อมูลแตกต่างกันอย่างไร?
คำตอบ: Recordset object จะต้องให้ฐานข้อมูลส่งข้อมูลทั้งหมด เมื่อปริมาณข้อมูลมีขนาดใหญ่ จะทำให้เครือข่ายติดขัดและทำให้เซิร์ฟเวอร์ฐานข้อมูลทำงานหนักเกินไป ดังนั้นประสิทธิภาพการดำเนินการโดยรวมจะลดลง
การใช้ออบเจ็กต์ Command เพื่อเรียกคำสั่ง SQL โดยตรง การดำเนินการที่ดำเนินการจะดำเนินการในเซิร์ฟเวอร์ฐานข้อมูล ซึ่งเห็นได้ชัดว่ามีประสิทธิภาพในการดำเนินการสูง โดยเฉพาะอย่างยิ่งการดำเนินการขั้นตอนการจัดเก็บที่สร้างขึ้นบนฝั่งเซิร์ฟเวอร์สามารถลดการรับส่งข้อมูลเครือข่ายได้ นอกจากนี้ เนื่องจากมีการดำเนินการวิเคราะห์ไวยากรณ์ล่วงหน้า จึงทำให้ประสิทธิภาพการดำเนินการโดยรวมดีขึ้นได้
14. คำถาม: จำเป็นต้องสร้างวัตถุการเชื่อมต่อสำหรับแต่ละวัตถุชุดระเบียนหรือไม่
คำตอบ: คุณสามารถใช้วัตถุการเชื่อมต่อเดียวกันสำหรับวัตถุชุดระเบียนที่แตกต่างกันในเวลาเดียวกันเพื่อประหยัดทรัพยากร
15. คำถาม: ระบบจัดการฐานข้อมูล (DBMS) คืออะไร?
คำตอบ: เพื่อให้มั่นใจในความปลอดภัยและความสม่ำเสมอของข้อมูลที่จัดเก็บไว้ในฐานข้อมูล ฐานข้อมูลจะต้องมีชุดซอฟต์แวร์เพื่อดำเนินงานการจัดการที่เกี่ยวข้องให้เสร็จสมบูรณ์ แตกต่างกันไปตามระบบ แต่โดยทั่วไป ควรมีประเด็นดังต่อไปนี้
ฟังก์ชั่นคำอธิบายฐานข้อมูล: กำหนดโครงสร้างโลจิคัลส่วนกลาง โครงสร้างโลจิคัลท้องถิ่น และวัตถุฐานข้อมูลอื่นๆ ของฐานข้อมูล
ฟังก์ชันการจัดการฐานข้อมูล: รวมถึงการกำหนดค่าและการจัดการระบบ การจัดการการเข้าถึงและอัปเดตข้อมูล การจัดการความสมบูรณ์ของข้อมูล และการจัดการความปลอดภัยของข้อมูล
ฟังก์ชันการสืบค้นฐานข้อมูลและการจัดการ: ฟังก์ชันนี้รวมถึงการเรียกค้นและแก้ไขฐานข้อมูล
ฟังก์ชันการบำรุงรักษาฐานข้อมูล: รวมถึงการจัดการการนำเข้าและส่งออกข้อมูล การบำรุงรักษาโครงสร้างฐานข้อมูล ฟังก์ชันการกู้คืนข้อมูล และการตรวจสอบประสิทธิภาพ
เพื่อปรับปรุงประสิทธิภาพการพัฒนาระบบฐานข้อมูล ระบบฐานข้อมูลสมัยใหม่ยังมีเครื่องมือต่างๆ เพื่อรองรับการพัฒนาแอปพลิเคชัน นอกเหนือจาก DBMS
16. คำถาม: ระบบจัดการฐานข้อมูล WEB ที่ได้รับความนิยมในปัจจุบันคืออะไร?
คำตอบ: ระบบการจัดการฐานข้อมูลบนเว็บยอดนิยมในปัจจุบัน ได้แก่ SQL Server, Oracle, DB2 และ Sybase ของ Microsoft ส่วนใหญ่ใช้ Access
17. คำถาม: อะไรคือความแตกต่างระหว่างการใช้วิธี AddNew ของ ADO และการใช้คำสั่ง Insertinto... ใน ASP โดยตรง? วิธีไหนดีกว่ากัน?
คำตอบ: วิธีการ AddNew ของ ADO จะห่อหุ้มคำสั่ง Insertinto เท่านั้น ดังนั้น เมื่อดำเนินการกับข้อมูลจำนวนมาก การใช้คำสั่ง SQL โดยตรงจะช่วยเพิ่มความเร็วในการเข้าถึงข้อมูลอย่างมาก เนื่องจากจะช่วยลดเวลาการแปลของ ADO เนื่องจากการดำเนินการของ SQL ที่ทำโดยคำสั่ง ดำเนินการโดยตรงในเซิร์ฟเวอร์ฐานข้อมูล ซึ่งมีข้อได้เปรียบที่สำคัญโดยเฉพาะเมื่อมีข้อมูลจำนวนมาก
18. คำถาม: เหตุใดฉันจึงได้รับข้อผิดพลาดเมื่อฉันใช้คำสั่งแทรกบันทึกมาตรฐาน insertintobooks(name,email)values(kitty,[email protected]) ใน ASP
คำตอบ: SQL (StructuredQueryLanguage/Structured Query Language) เป็นภาษาคิวรีข้อมูลที่พัฒนาโดย IBM ในปี 1970 ปัจจุบันกลายเป็นมาตรฐานสำหรับภาษาคิวรีฐานข้อมูลเชิงสัมพันธ์ คำสั่ง SQL เป็นภาษาโปรแกรมที่ใช้ภาษาอังกฤษซึ่งสามารถใช้เพื่อเพิ่ม จัดการ และเข้าถึงฐานข้อมูล
แม้ว่าคุณสามารถใช้เครื่องหมายคำพูดคู่เมื่อเพิ่มสตริงในคำสั่ง SQL ได้ แต่ต้องใช้เครื่องหมายคำพูดเดี่ยวใน ASP สำหรับการดำเนินการตามปกติ ดังนั้นจึงควรเขียน insertintobooks(name,email)values('kitty','[email protected]')
19. คำถาม: ตัวควบคุม ActiveX คืออะไร ฉันจะหาตัวควบคุม ActiveX เหล่านี้ได้จากที่ไหน
คำตอบ: ตัวควบคุม Microsoft ActiveX เป็นส่วนประกอบซอฟต์แวร์ที่สามารถนำมาใช้ซ้ำได้ซึ่งพัฒนาโดยผู้ให้บริการซอฟต์แวร์ นอกจากออบเจ็กต์ที่ฝังไว้ของ ASP แล้ว ตัวควบคุม ActiveX ที่ติดตั้งไว้ยังสามารถใช้ใน ASP ได้อีกด้วย ซึ่งสามารถประหยัดเวลาอันมีค่าในการพัฒนาได้มาก ที่จริงแล้ว ยังมีตัวควบคุม ActiveX จำนวนมากที่ฝังอยู่ใน ASP ที่สามารถใช้ได้อีกด้วย
การใช้ตัวควบคุม ActiveX ทำให้สามารถเพิ่มฟังก์ชันพิเศษลงในแอปพลิเคชันบนเว็บและเครื่องมือในการพัฒนาได้อย่างรวดเร็ว ตัวอย่างเช่น ใช้ออบเจ็กต์ AdRotator เพื่อสร้างบอร์ดเลื่อนการโฆษณา ใช้ออบเจ็กต์ FileSystemObject สำหรับการเข้าถึงไฟล์ และใช้ออบเจ็กต์ Marquee เพื่อใช้ข้อความเลื่อน
ขณะนี้มีตัวควบคุม ActiveX เชิงพาณิชย์มากกว่า 1,000 รายการ สามารถพัฒนาตัวควบคุม ActiveX ได้โดยใช้ภาษาการเขียนโปรแกรมต่างๆ เช่น C, C++ ฯลฯ รวมถึงสภาพแวดล้อมการพัฒนา VisualJava ของ Microsoft MicrosoftVisualJ++ เมื่อตัวควบคุม ActiveX ได้รับการพัฒนาแล้ว ผู้ออกแบบและนักพัฒนาจะสามารถใช้เป็นส่วนประกอบที่ประกอบไว้ล่วงหน้าสำหรับการพัฒนาโปรแกรมไคลเอนต์ได้ การใช้ตัวควบคุม ActiveX ในลักษณะนี้ ผู้ใช้ไม่จำเป็นต้องทราบว่าส่วนประกอบเหล่านี้ได้รับการพัฒนาอย่างไร ในหลายกรณี พวกเขาไม่จำเป็นต้องตั้งโปรแกรมเองเพื่อออกแบบเว็บเพจหรือแอปพลิเคชันให้เสร็จสมบูรณ์ด้วยซ้ำ
ขณะนี้มีการควบคุมเชิงพาณิชย์มากกว่า 1,000 รายการจากนักพัฒนาซอฟต์แวร์บุคคลที่สาม Microsoft ActiveX Component Gallery (ActiveXComponentGallery) จัดเก็บข้อมูลที่เกี่ยวข้องและลิงก์ที่เกี่ยวข้อง ซึ่งชี้ไปยังตัวควบคุม ActiveX ต่างๆ ที่จัดทำโดย Microsoft และนักพัฒนาบุคคลที่สาม ใน Microsoft ActiveX Component Gallery (ActiveXComponentGallery) คุณสามารถค้นหารายชื่อบริษัทที่พัฒนาตัวควบคุม ActiveX ที่ปรับปรุงอินเทอร์เน็ตได้
20. คำถาม: เหตุใดจึงไม่พบค่าของไซต์เริ่มต้นในแบบฟอร์มในฐานข้อมูลโดยใช้คำสั่ง strStartPort=(Request.Form(catmenu_0)
คำตอบ: เนื่องจากค่าของไซต์เริ่มต้นที่ได้รับอาจมีช่องว่าง ตัวอย่างเช่น ความหมายดั้งเดิมคือหางโจว อย่างไรก็ตาม เนื่องจากการมีอยู่ของช่องว่าง ค่าที่ได้รับจากโปรแกรม ASP อาจเป็นหางโจว และมีเพียงบันทึกเท่านั้น ของหางโจวในฐานข้อมูล ไม่พบ วิธีแก้ไขคือใช้ฟังก์ชัน Trim เพื่อลบช่องว่างทั้งหมดที่ปลายทั้งสองของสตริง
strStartPort=TRIM(คำขอ.แบบฟอร์ม(catmenu_0))
21. คำถาม: ใน ASP เมื่อวงจรชีวิตของตัวแปรสิ้นสุดลง มีกี่วิธีในการคงเนื้อหาของตัวแปรไว้?
คำตอบ: การดำเนินการใดๆ ที่ทำให้เกิดการสิ้นสุดของเว็บเพจ เช่น การกดปุ่มรีเฟรชของเบราว์เซอร์ หรือการปิดเบราว์เซอร์แล้วเปิดใหม่อีกครั้ง จะทำให้วงจรชีวิตของตัวแปรสิ้นสุดลง
หากคุณต้องการเก็บเนื้อหาของตัวแปรไว้เมื่อเว็บเพจสิ้นสุดการดำเนินการเพื่อใช้ในการดำเนินการครั้งถัดไป คุณสามารถใช้ออบเจ็กต์ Application เพื่อให้บรรลุเป้าหมายนี้ได้ ตัวอย่างเช่น คุณสามารถใช้วัตถุ Application เพื่อสร้างตัวนับที่นับการเข้าชมเว็บไซต์
อ็อบเจ็กต์ Session นั้นเหมือนกับอ็อบเจ็กต์ Application โดยสามารถจัดเก็บเนื้อหาของตัวแปรไว้ที่ส่วนท้ายของเว็บเพจได้ อย่างไรก็ตาม ต่างจากอ็อบเจ็กต์ Application ตรงที่แต่ละการเชื่อมต่อเป็นอ็อบเจ็กต์เซสชันอิสระเท่านั้น แบ่งปันวัตถุแอปพลิเคชันหนึ่งรายการ แต่ผู้ใช้ออนไลน์แต่ละรายจะมีวัตถุเซสชันของตนเอง
ออบเจ็กต์แอปพลิเคชันและออบเจ็กต์เซสชันสามารถช่วยเราบันทึกข้อมูลบนฝั่งเซิร์ฟเวอร์ ในขณะที่ออบเจ็กต์คุกกี้จะใช้ฟังก์ชันคุกกี้ที่เบราว์เซอร์ให้ไว้เพื่อบันทึกข้อมูลในฝั่งไคลเอ็นต์ สิ่งหนึ่งที่ควรทราบคือคุกกี้เป็นข้อมูลที่บันทึกไว้ในเบราว์เซอร์ ดังนั้นการเข้าถึงข้อมูลจึงไม่ง่ายเหมือนกับการเข้าถึงออบเจ็กต์ ASP อื่นๆ (ข้อมูลจะถูกเก็บไว้ที่ฝั่งเซิร์ฟเวอร์) ในแง่ของการทำงานจริง เฉพาะเมื่อเบราว์เซอร์เริ่มเรียกดูเซิร์ฟเวอร์เท่านั้น หน้าเว็บบางหน้าและเซิร์ฟเวอร์ไม่ได้ดาวน์โหลดข้อมูลใด ๆ ไปยังเบราว์เซอร์ก่อนที่เบราว์เซอร์จะสามารถแลกเปลี่ยนข้อมูลคุกกี้กับเซิร์ฟเวอร์ได้
22. คำถาม: หลังจากใช้วัตถุควรทำอย่างไร?
คำตอบ: หลังจากใช้วัตถุ ขั้นแรกให้ใช้วิธีการปิดเพื่อปล่อยทรัพยากรระบบที่ถูกครอบครองโดยวัตถุ จากนั้นตั้งค่าของวัตถุเป็นไม่มีอะไรเพื่อปล่อยหน่วยความจำที่ถูกครอบครองโดยวัตถุ มิฉะนั้น ประสิทธิภาพการทำงานของไซต์บริการเว็บจะเป็นอย่างไร ลดลงหรือล้มเหลวเนื่องจากมีวัตถุมากเกินไป ข้อความที่เกี่ยวข้องมีดังนี้:
23. คำถาม: มีกี่วิธีในการอ่านฟิลด์ฟอร์ม HTML ในไฟล์ ASP?
คำตอบ: นอกเหนือจากการอ่านพารามิเตอร์ที่แนบมากับ URL แล้ว ออบเจ็กต์ Request ยังสามารถอ่านเนื้อหาของฟิลด์ฟอร์ม HTML ได้ โครงสร้างไวยากรณ์ที่ใช้กันทั่วไปมีดังนี้:
วิธีการรับส่งข้อมูลทำได้ 2 วิธี คือ Get หรือ Post วิธีรับจะแนบข้อมูลที่จะส่งไปยังส่วนท้ายของ URL แล้วส่งไปยังเซิร์ฟเวอร์พร้อมกัน ดังนั้นปริมาณข้อมูลที่ส่งจะถูกจำกัด แต่ประสิทธิภาพในการดำเนินการดีกว่าวิธี Post
ข้อมูลสามารถส่งไปยังเซิร์ฟเวอร์โดยใช้วิธีรับหรือโพสต์ วิธีการที่สอดคล้องกันสำหรับการรับข้อมูลโดยใช้วัตถุคำขอมีดังนี้:
รับ: Request.QueryString (ชื่อฟิลด์) สามารถเขียนเป็น Request (ชื่อฟิลด์) ได้
โพสต์: Request.Form (ชื่อฟิลด์) สามารถเขียนเป็น Request (ชื่อฟิลด์) ได้
24. คำถาม: จะปรับปรุงประสิทธิภาพของการใช้ Request collection ได้อย่างไร?
คำตอบ: เมื่อใช้คอลเลกชันคำขอ จะช้ากว่าการเข้าถึงตัวแปรภายในเครื่องมาก เนื่องจากเกี่ยวข้องกับชุดการค้นหาสำหรับคอลเลกชันที่เกี่ยวข้อง ดังนั้น หากคุณวางแผนที่จะใช้ค่าในคอลเลกชันคำขอหลายครั้งบนเพจ คุณควรพิจารณาจัดเก็บค่านั้นเป็นตัวแปรภายในเครื่อง
25. คำถาม: สามารถใช้ทั้ง VBScript และ Jscript ในหน้า ASP ได้
คำตอบ: แม้ว่าทั้ง VBScript และ JScript สามารถใช้ในหน้า ASP ได้ แต่ไม่แนะนำให้ใช้ JScript และ VBScript พร้อมกันในหน้าเดียวกัน เนื่องจากเซิร์ฟเวอร์ต้องสร้างอินสแตนซ์และพยายามแคชเอ็นจิ้นสคริปต์สองตัว (แทนที่จะเป็นหนึ่งตัว) สิ่งนี้จะเพิ่มภาระบนระบบในระดับหนึ่ง ดังนั้น เพื่อเหตุผลด้านประสิทธิภาพ คุณไม่ควรผสมเอ็นจิ้นสคริปต์หลายตัวในหน้าเดียวกัน
26. คำถาม: เมื่อเราสร้างไฟล์ ASP และมันเป็นไปตามไวยากรณ์ ถ้าเราป้อนที่อยู่ต่อไปนี้ผ่านเบราว์เซอร์ หรือเปิดมันผ่านตัวจัดการทรัพยากรและเรียกดู: c:/inetpub/wwwroot/a.asp ซึ่งใช้งานไม่ได้ ข้อผิดพลาดจะปรากฏขึ้น มันแจ้งว่าการอนุญาตไม่ถูกต้องหรือไม่สามารถเข้าถึงไฟล์ได้
คำตอบ: เนื่องจากไฟล์ ASP ต้องการให้ไซต์มีแอตทริบิวต์การดำเนินการ (สคริปต์) ก่อน จากนั้นจึงกำหนดให้ป้อนที่อยู่ในรูปแบบ URL แทนรูปแบบ DOS เราจำเป็นต้องติดตั้งและเริ่มแพลตฟอร์มบริการเว็บบนคอมพิวเตอร์ ตรวจสอบให้แน่ใจว่าไฟล์ ASP ถูกเก็บไว้ ในไดเร็กทอรีเสมือนของเว็บเซิร์ฟเวอร์ คุณสามารถเรียกดูในรูปแบบ HTTP ในแถบที่อยู่ของเบราว์เซอร์ ให้ป้อน: http://ชื่อเว็บไซต์ (หรือที่อยู่ IP ของไซต์)/ASP ชื่อไฟล์ แล้วกด Enter เพื่อเรียกดู ผลลัพธ์ของเซิร์ฟเวอร์ที่เรียกใช้งานไฟล์ ASP จะแสดงในเบราว์เซอร์
27. คำถาม: ASP.NET คืออะไร เกี่ยวอะไรกับ ASP?
คำตอบ: ActiveServerPages (ASP, Active Server Pages) เป็นสภาพแวดล้อมการเขียนโปรแกรมที่ค่อนข้างง่ายซึ่งสามารถผสม HTML, ภาษาสคริปต์และส่วนประกอบจำนวนเล็กน้อยเพื่อสร้างแอปพลิเคชันอินเทอร์เน็ตฝั่งเซิร์ฟเวอร์
ASP.NET คือสภาพแวดล้อมการเขียนโปรแกรมอันทรงพลังที่ได้รับการส่งเสริมโดย Microsoft สามารถใช้ภาษาระดับสูงได้หลากหลาย เช่น C# และภาษาสคริปต์, HTML, XML, XSL เป็นต้น เพื่อสร้างแอปพลิเคชันบนเครือข่าย ASP.NET ใช้ C# เป็นภาษาเชิงวัตถุ ในหลาย ๆ ด้าน C# จะกลายเป็นภาษาของ Microsoft คล้ายกับ Java C# เป็นหนึ่งในคุณสมบัติที่สำคัญที่สุดในการพัฒนา ASP.NET และ Microsoft จะพัฒนา C# ให้เป็นคู่แข่งที่แข็งแกร่งกับ Java นี่เป็นส่วนสำคัญของกรอบงาน .Net ของ Microsoft ฉันคิดว่า C# เป็นเครื่องมือหลักของ Microsoft ในการเอาชนะคู่แข่งในด้านภาษาการเขียนโปรแกรม
ASP.NET นั้นเหนือกว่าโปรแกรม ASP ในแง่ของการวางแนววัตถุ การเชื่อมต่อฐานข้อมูล แอปพลิเคชันไซต์ขนาดใหญ่ ฯลฯ ASP.NET ยังมีคุณสมบัติใหม่เพิ่มเติมในด้านอื่น ๆ เช่น: การแคชวัตถุในตัวและการแคชผลลัพธ์หน้า; รองรับ XML ในตัว สามารถใช้สำหรับการประมวลผลชุดข้อมูล XML อย่างง่าย การควบคุมเซิร์ฟเวอร์ให้การควบคุมแบบโต้ตอบที่สมบูรณ์ยิ่งขึ้น ฯลฯ
ASP.NET ยังคงล็อคอยู่ในระบบปฏิบัติการของ Microsoft อย่างสมบูรณ์ เพื่อให้ตระหนักถึงศักยภาพของ ASP.NET อย่างแท้จริง คุณต้องใช้ C# หรือ vb.net สองภาษานี้จะกลายเป็นภาษาสคริปต์หลักของมาตรฐาน ASP.NET