ASP นั้นเรียบง่ายมากจนนักพัฒนาจำนวนมากไม่คิดเกี่ยวกับการจัดการข้อผิดพลาด การจัดการข้อผิดพลาดสามารถทำให้แอปพลิเคชันของคุณมีเหตุผลมากขึ้น ฉันเคยเห็นเว็บไซต์เชิงพาณิชย์จำนวนมากที่เขียนด้วย ASP และส่วนใหญ่ไม่สนใจการจัดการข้อผิดพลาด ผิดประเภท.
ข้อผิดพลาดมีสามประเภทหลัก:
1. ข้อผิดพลาดในการรวบรวม:
ข้อผิดพลาดประเภทนี้มักเกิดขึ้นเนื่องจากปัญหาทางไวยากรณ์ในโค้ด ASP หยุดทำงานเนื่องจากข้อผิดพลาดในการคอมไพล์
2. เรียกใช้ข้อผิดพลาด:
ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณกำลังเตรียมการรัน ASP ตัวอย่างเช่น หากคุณพยายามกำหนดค่าให้กับตัวแปร แต่ค่านั้นอยู่นอกช่วงที่อนุญาตของตัวแปร
3. ข้อผิดพลาดทางลอจิก:
ข้อผิดพลาดเชิงตรรกะเป็นสิ่งที่ตรวจพบได้ยากที่สุด ข้อผิดพลาดนี้มักเป็นข้อผิดพลาดทางโครงสร้างที่คอมพิวเตอร์ไม่พบ สิ่งนี้กำหนดให้เราต้องตรวจสอบโค้ดของเราจากบนลงล่าง
เนื่องจากข้อผิดพลาดในการคอมไพล์โดยทั่วไปเกิดขึ้นพร้อมกับข้อผิดพลาดเชิงตรรกะและสามารถแสดงได้ ดังนั้นเราจึงกังวลเฉพาะข้อผิดพลาดในการทำงานเท่านั้น ทุกอย่างจะหยุดการทำงานของ ASP และทิ้งข้อความที่ไม่เป็นมิตรจำนวนมากให้กับผู้ใช้ แล้วเราจะจัดการกับข้อผิดพลาดรันไทม์ได้อย่างไร?
ประเภทข้อผิดพลาด:
ADODB.ฟิลด์ (0x800A0BCD)
BOF หรือ EOF เป็นจริง หรือเรกคอร์ดปัจจุบันถูกลบไปแล้ว และการดำเนินการที่จำเป็นจำเป็นต้องมีเรกคอร์ดปัจจุบัน
เหตุผล: เมื่อคุณใช้ SQL เพื่อค้นหาเรคคอร์ดในฐานข้อมูล ผลลัพธ์การค้นหาว่างเปล่า และคุณไม่ได้จัดการกับสถานการณ์ของเรคคอร์ดว่างเปล่า
วิธีแก้ไข: 1. หากคุณไม่เชื่อว่าผลการค้นหาว่างเปล่า คุณควรพิจารณาว่าคำสั่ง SQL ของคุณถูกต้องหรือไม่ 2. หากว่างเปล่าจริงๆ คุณควรเพิ่ม "if rs.eof then" หรือ "do while ไม่ใช่ rs.eof "คำสั่งเช่น " ใช้เพื่อจัดการกับสถานการณ์ eof
ประเภทข้อผิดพลาด:
(0×80020009)
เกิดอุบัติเหตุ.
เหตุผล: เมื่อใช้ SQL เพื่อค้นหาบันทึกฐานข้อมูล ผลการค้นหาว่างเปล่า และคุณเรียกบันทึก เช่น rs("aa") ในโค้ดถัดไป
วิธีแก้ไข: อาจเหมือนกับข้างต้น บวกกับการพิจารณาและการประมวลผลของ rs.eof หรือคำสั่ง SQL ของคุณไม่ถูกต้อง ส่งผลให้ไม่พบบันทึก และไม่สามารถใช้บันทึกของ rs("aa") ในภายหลังได้
ประเภทข้อผิดพลาด:
หน้าเซิร์ฟเวอร์ที่ใช้งานอยู่, ASP 0126 (0×80004005)
ไม่พบไฟล์ 'xxx.asp' ที่รวมไว้
เหตุผล: ตามที่ข้อความแสดงข้อผิดพลาดระบุว่าไม่มีไฟล์รวมนี้
วิธีแก้ไข: หากคุณแน่ใจว่าไฟล์นี้มีอยู่ แสดงว่าเส้นทางของคุณเขียนผิด ตัวอย่างเช่น เส้นทางของไฟล์นั้นสัมพันธ์กับไดเร็กทอรีรากของเว็บไซต์ควรเป็น inc/xxx.asp จากนั้น inc/xxx.asp ควรเขียนด้วย include และไม่ใช่แค่ xxx.asp เอกสารแนบ: วิธีการเขียนประกอบด้วย:
ประเภทข้อผิดพลาด:
ผู้ให้บริการ Microsoft OLE DB สำหรับไดรเวอร์ ODBC (0 × 80004005)
[Microsoft] [ODBC Microsoft Access Driver] การดำเนินการต้องใช้แบบสอบถามที่อัปเดตได้
เหตุผล: นี่เป็นเรื่องธรรมดามากบนเซิร์ฟเวอร์ XP และเป็นปัญหาการกำหนดค่าเซิร์ฟเวอร์ หรือปัญหาสิทธิ์ของผู้ใช้
วิธีแก้ไข: หากข้อผิดพลาดเกิดขึ้นเฉพาะในเครื่องนี้เท่านั้น ให้คลิกขวาที่โฟลเดอร์ที่มีเว็บไซต์อยู่ คลิก "Sharing and Security..." คลิก Add... ใน "Security" เขียนทุกคน จากนั้นเปิดใช้งานสิ่งนี้ สิทธิ์ของผู้ใช้ทั้งหมดนั่นคือทั้งหมดยกเว้นอันแรกที่ถูกตรวจสอบหลังจากยืนยันแล้วให้รีเฟรชและสามารถใช้งานได้ (หมายเหตุ: หากคุณไม่พบตัวเลือก "ความปลอดภัย" ให้คลิก "เครื่องมือ" ในโฟลเดอร์ใดก็ได้ จากนั้นเลือก "ตัวเลือกโฟลเดอร์" - "มุมมอง" และยกเลิกการเลือกคอลัมน์ "ใช้การแชร์ไฟล์อย่างง่าย" สามารถทำได้)
ประเภทข้อผิดพลาด:
ข้อผิดพลาดคอมไพเลอร์ Microsoft VBScript (0x800A0401)
แถลงการณ์ยังไม่สิ้นสุด
เหตุผล: ข้อผิดพลาดทางไวยากรณ์
วิธีแก้ไข: ตรวจสอบบรรทัดที่ระบบแจ้ง หากข้อความแจ้งเป็นบรรทัดสุดท้ายของหน้านี้ เป็นไปได้มากว่าคำสั่ง if ลืมเขียน "end if" และคำสั่ง select ลืมเขียน "end select" กล่าวโดยย่อ ไม่มีการสิ้นสุดที่จุดสิ้นสุด จำเป็นทำให้เซิร์ฟเวอร์ไม่พบ ในตอนท้ายของคำสั่ง จะต้องแสดงข้อผิดพลาดในบรรทัดสุดท้าย
ประเภทข้อผิดพลาด:
โปรแกรมฐานข้อมูล Microsoft JET (0x80040E10)
ไม่มีการระบุค่าพารามิเตอร์อย่างน้อยหนึ่งรายการ
เหตุผล: เมื่อเขียนคำสั่ง SQL เรามักจะเรียกพารามิเตอร์บางตัว และอาจเป็นไปได้ว่าหนึ่งในพารามิเตอร์เหล่านี้ไม่ได้รับการกำหนดค่า
วิธีแก้ไข: ตรวจสอบว่าค่าของแต่ละพารามิเตอร์ถูกส่งผ่านจริงหรือไม่ เป็นไปได้มากว่าพารามิเตอร์บางตัวเป็น "" จริง ๆ แน่นอนว่าเป็นไปไม่ได้ที่จะสร้างดัชนีฐานข้อมูลด้วยพารามิเตอร์ดังกล่าว
ประเภทข้อผิดพลาด:
โปรแกรมฐานข้อมูล Microsoft JET (0x80040E37)
โปรแกรมฐานข้อมูล Microsoft Jet ไม่พบตารางอินพุตหรือแบบสอบถาม 'AA' ตรวจสอบว่ามีอยู่จริงหรือไม่และสะกดชื่อถูกต้องหรือไม่
เหตุผล: ไม่มีตารางนี้
วิธีแก้ไข: บางทีคุณอาจเขียนชื่อตารางผิดหรือเชื่อมต่อกับฐานข้อมูลผิด ตรวจสอบอย่างละเอียดอีกครั้ง!
ประเภทข้อผิดพลาด:
ข้อผิดพลาดรันไทม์ Microsoft VBScript (0x800A000D)
ประเภทไม่ตรงกัน: /'[string: ""]/"
เหตุผล: เนื่องจากประเภทของตัวแปรของคุณคือสตริง แต่คุณใช้เป็นตัวเลขหรือประเภทอื่น
วิธีแก้ไข: ตัวอย่างเช่น หากคุณต้องการตัวแปรตัวเลขในการคำนวณการดำเนินการทางคณิตศาสตร์ เช่น i=i+1 คุณควรใช้ cint (ชื่อตัวแปร) กับตัวแปรเพื่อบังคับให้แปลงเป็นประเภทตัวเลข การเปรียบเทียบระหว่างตัวแปรทั้งสองจะต้องเป็นเช่นนั้น ที่เป็นประเภทเดียวกัน จึงต้องแปลงด้วย วิธีการก็เหมือนกับข้างบน
ประเภทข้อผิดพลาด:
โปรแกรมฐานข้อมูล Microsoft JET (0x80040E07)
ชนิดข้อมูลไม่ตรงกันในนิพจน์มาตรฐาน
เหตุผล: โดยทั่วไป มีข้อผิดพลาดเกิดขึ้นเมื่อเขียนคำสั่ง SQL กล่าวคือ ตัวแปรตัวเลขและสตริงเกิดความสับสน
วิธีแก้ไข: ทำได้ง่ายมาก ลองลบเครื่องหมายคำพูดเดี่ยวออกจากตัวแปรใน SQL ที่เพิ่ม "" หรือเพิ่ม "" ให้กับตัวแปรที่เดิมคิดว่าเป็นตัวเลข แล้วตรวจสอบผลกระทบ
ประเภทข้อผิดพลาด:
ข้อผิดพลาดในการทำงาน Microsoft VBScript (0x800A01A8)
วัตถุที่หายไป:"
เหตุผล: มีความเป็นไปได้มากที่คุณไม่ได้กำหนดอ็อบเจ็กต์ rs
วิธีแก้ไข: อย่าลืมเขียน set rs=server.CreateObject("adodb.recordset") เพื่อให้คุณสามารถกำหนดอ็อบเจ็กต์ได้ หรือไม่ใช้วิธีการเขียนนี้ เพียงใช้ conn.execute("SQL") ซึ่งจะสะดวกกว่ามากและไม่ต้องพิจารณาประเด็นเรื่องวัตถุ
ประเภทข้อผิดพลาด:
ข้อผิดพลาดรันไทม์ Microsoft VBScript (0x800A005E)
การใช้ไม่ถูกต้อง Null: 'แทนที่'
เหตุผล: การใช้ฟังก์ชันที่ไม่ถูกต้องเป็นเรื่องปกติ รวมถึงการแยกส่วน ฯลฯ เหตุผลนั้นค่อนข้างง่าย เนื่องจากเนื้อหาของการแทนที่ของคุณว่างเปล่า
วิธีแก้ไข: วิธีที่ดีที่สุดคือเพิ่ม IF เพื่อตรวจสอบว่าเนื้อหาที่คุณต้องการแทนที่ว่างเปล่าหรือไม่
ข้อผิดพลาดคอมไพเลอร์ Microsoft VBScript ข้อผิดพลาด '800a03f6'
โปรแกรมควบคุม ODBC ไม่สนับสนุนคุณสมบัติที่จำเป็น
เหตุผล: อาจเป็นเพราะไม่มีชื่อฟิลด์ปรากฏในคำสั่ง sql โดยปกติแล้วชื่อฟิลด์หรือคีย์เวิร์ด sql จะเขียนไม่ถูกต้อง อาจเป็นไปได้ว่าตารางที่จะเปิดโดย SQL นั้นถูกเปิดไว้โดยเฉพาะ
วิธีแก้ไข: ตรวจสอบทุกชื่อฟิลด์และทุกคำสำคัญที่ปรากฏในคำสั่ง sql
ผู้ให้บริการ Microsoft OLE DB สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005′
ผู้ใช้ 'ผู้ดูแลระบบ' บนเครื่อง 'HDZC-3JQSKBWO02' มีการล็อคพิเศษในตารางข้อมูล 'order_detail'
เหตุผล: ตารางที่ sql ต้องการถูกเปิดในรูปแบบการออกแบบตารางโดยการเข้าถึง
วิธีแก้ไข: ปิดการออกแบบตาราง
ข้อผิดพลาดคอมไพเลอร์ Microsoft VBScript ข้อผิดพลาด '800a03f6'
ไม่พบรายการในคอลเลกชันที่สอดคล้องกับชื่อหรือหมายเลขลำดับที่ต้องการ
เหตุผล: ไม่มีชื่อฟิลด์ปรากฏในคำสั่ง sql โดยทั่วไปจะเป็นข้อผิดพลาดในการเขียนชื่อฟิลด์หรือคีย์เวิร์ด sql
วิธีแก้ไข: ตรวจสอบชื่อแต่ละฟิลด์ที่ปรากฏในคำสั่ง sql
ADODB.Recordset ข้อผิดพลาด '800a0e78′
ไม่อนุญาตให้ดำเนินการใด ๆ ในขณะที่วัตถุถูกปิด
เหตุผล: rs.close ถูกใช้เพื่อปิดวัตถุ rs ก่อนคำสั่ง rs.open sql,conn,3,3
วิธีแก้ไข: ลบ rs.close ก่อนหน้าออก
ผู้ให้บริการ Microsoft OLE DB สำหรับข้อผิดพลาดของโปรแกรมควบคุม ODBC '80040e14′
[Microsoft] [ODBC Microsoft Access Driver] ข้อผิดพลาดทางไวยากรณ์ (ตัวดำเนินการหายไป) ในนิพจน์แบบสอบถาม 'classtree แบบฟอร์ม oid โดยที่ oid = 25'
เหตุผล: มีข้อผิดพลาดคีย์เวิร์ดภาษาอังกฤษหรือย่อหน้าย่อยที่เขียนอย่างผิดกฎหมายในคำสั่ง sql
วิธีแก้ไข: พิมพ์คำสั่ง sql จากนั้นเปรียบเทียบทีละคำเพื่อค้นหาข้อผิดพลาดในการเขียน
การดำเนินการจำเป็นต้องมีแบบสอบถามที่อัปเดตได้
คำตอบ: ตรวจสอบว่าไฟล์ไลบรารีเป็นแบบอ่านอย่างเดียวหรือไม่
คำตอบ 2: ชุดระเบียนที่เรียงลำดับ (เรียงลำดับตาม) (rs) ไม่อนุญาตให้ดำเนินการอัพเดต (rs.update)
3219 ไม่อนุญาตให้ดำเนินการกับเนื้อหานี้
คำตอบ 3: คุณสมบัติเขตข้อมูลฐานข้อมูลถูกตั้งค่าให้อนุญาตการแทรกค่า Null หรือไม่
adErrInvalidArgument 3001
0x800A0BB9
แอปพลิเคชันใช้พารามิเตอร์ที่ผิดประเภท อยู่นอกช่วงที่ยอมรับได้ หรือขัดแย้งกับพารามิเตอร์อื่น
adErrNoCurrentRecord 3021
0x800A0BCD
BOF หรือ EOF เป็น True หรือบันทึกปัจจุบันถูกลบไปแล้ว การดำเนินการที่ร้องขอโดยแอปพลิเคชันจำเป็นต้องมีบันทึกปัจจุบัน
adErrIllegalOperation 3219
0x800A0C93
การดำเนินการที่ร้องขอโดยแอปพลิเคชันไม่ได้รับอนุญาตในบริบทนี้
โฆษณาผิดพลาดในธุรกรรม 3246
0x800A0CAE
แอปพลิเคชันไม่สามารถปิดวัตถุการเชื่อมต่อระหว่างธุรกรรมได้อย่างชัดเจน
adErrFeatureNotAvailable 3251
0x800A0CB3
ผู้ให้บริการไม่สนับสนุนการดำเนินการที่ร้องขอโดยแอปพลิเคชัน
adErrItemNotFound 3265
0x800A0CC1
ADO ไม่พบวัตถุในคอลเลกชันที่สอดคล้องกับชื่อหรือการอ้างอิงลำดับที่ร้องขอ โดยแอปพลิเคชัน
adErrObjectInCollection 3367
0x800A0D27
ไม่สามารถต่อท้ายได้ วัตถุอยู่ในคอลเลกชันแล้ว
adErrObjectNotSet 3420 0x800A0D5C วัตถุที่อ้างอิงโดยแอปพลิเคชันไม่ชี้ไปยังวัตถุที่ถูกต้องอีกต่อไป
adErrDataConversion 3421
0x800A0D5D
แอปพลิเคชันใช้ประเภทค่าที่ไม่เหมาะสมกับการดำเนินการปัจจุบัน
adErrObjectปิด 3704
0x800A0E78
หากวัตถุถูกปิด การดำเนินการที่ร้องขอโดยแอปพลิเคชันจะไม่ได้รับอนุญาต
adErrObjectOpen 3705
0x800A0E79
หากวัตถุเปิดอยู่ การดำเนินการที่ร้องขอโดยแอปพลิเคชันจะไม่ได้รับอนุญาต
adErrProviderNotFound 3706
0x800A0E7A
ADO ไม่พบผู้ให้บริการที่ระบุ
adErrBoundToCommand 3707
0x800A0E7B
แอปพลิเคชันไม่สามารถใช้วัตถุ Command เพื่อเปลี่ยนคุณสมบัติ ActiveConnection ของวัตถุ Recordset เป็นแหล่งข้อมูลได้
adErrInvalidParamInfo 3708
0x800A0E7C
แอปพลิเคชันกำหนดวัตถุพารามิเตอร์ไม่ถูกต้อง
adErrInvalidConnection 3709
0x800A0E7D
แอปพลิเคชันร้องขอการดำเนินการบนวัตถุโดยอ้างอิงวัตถุการเชื่อมต่อที่ปิดหรือไม่ถูกต้อง
ADODB.Field Error '80020009' BOF หรือ EOF เป็น 'true' หรือบันทึกปัจจุบันถูกลบไปแล้ว และการดำเนินการที่จำเป็นจำเป็นต้องมีบันทึกปัจจุบัน
วิธีแก้ไขมีดังนี้: ข้อผิดพลาดนี้เกิดจากข้อเท็จจริงที่ว่าไม่มีระเบียนของ SELECT และ DELETE หรือไม่มีระเบียนในไลบรารี ดังนั้นให้ตรวจสอบคำสั่ง SQL และดูว่าเงื่อนไขของ SELECT และ DELETE ถูกต้องหรือไม่ วิธีที่ดีที่สุดคือเลือกบันทึกหรือใช้ On ก่อน DELETE Error Resume Next…….On Error ไปที่ 0 เพื่อจัดการ ถ้าเป็นเพราะไม่มีบันทึกในไลบรารี เพียงแค่เพิ่มการตัดสิน If objRecordSet.Eof และ objRecordSet.Bof That เพราะเมื่อเปิด RecordSet ตัวชี้จะชี้ไปที่จุดสิ้นสุดตามค่าเริ่มต้น ดังนั้นคุณจึงสามารถใช้ If objRecordSet ได้ Eof แล้วที่จะตัดสิน
ActiveServerPages, ASP0126 (0 × 80004005) -> ไม่พบไฟล์รวม
MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)–>ข้อผิดพลาดคำสั่ง SQL (ประเภทข้อมูลไม่ตรงกันหรือข้อผิดพลาดชื่อตาราง (ชื่อเขตข้อมูล) หรือตารางอยู่ในสถานะการแก้ไข หรือตารางไม่มีอยู่ในฐานข้อมูลที่เปิดโดย conn)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)–>ข้อผิดพลาดของคำสั่ง SQL (ข้อผิดพลาดของชื่อฟิลด์ หรือชนิดข้อมูลไม่ตรงกัน)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)–>ข้อผิดพลาดคำสั่ง sql (ประเภทของฟิลด์ที่จะแทรกหรืออัปเดตไม่ตรงกับประเภทข้อมูลตัวแปร)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E57)–>ข้อผิดพลาดของคำสั่ง sql (ข้อมูลที่จะแทรกหรืออัปเดตโอเวอร์โฟลว์)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E10)–>ข้อผิดพลาดคำสั่ง SQL (อัปเดตชื่อฟิลด์หรือชนิดข้อมูลที่จะอัปเดตไม่ถูกต้อง)
MicrosoftOLEDBProviderforODBCDrivers(0×80004005)–>ข้อผิดพลาดของคำสั่ง sql (ค่าของฟิลด์ที่จะแทรกหรืออัปเดตไม่สามารถเป็นค่าว่างได้)
MicrosoftOLEDBProviderforODBCDrivers (0 × 80004005) -> เกิดข้อผิดพลาดในการเปิดฐานข้อมูล ไม่พบฐานข้อมูลในไดเร็กทอรีที่ระบุ
MicrosoftOLEDBProviderforODBCDrivers (0x80040E37)–> ไม่พบตาราง
ข้อผิดพลาดรันไทม์ MicrosoftVBscript (0x800A000D)–>ข้อผิดพลาดในการอ้างอิงตัวแปร rs (วัตถุ rs ถูกปิดหรือไม่ได้กำหนด)
ข้อผิดพลาดรันไทม์ MicrosoftVBscript (0x800A01C2)–>ข้อผิดพลาดสคริปต์ vbscript (ข้อผิดพลาดคำสั่ง vbscript)
ข้อผิดพลาดรันไทม์ MicrosoftVBscript (0x800A0006)–>ข้อผิดพลาดสคริปต์ vbscript (ข้อผิดพลาดล้น)
ข้อผิดพลาดของคอมไพเลอร์ MicrosoftVBscript (0x800A040E) -> ลูปหายไป
ข้อผิดพลาดของคอมไพเลอร์ MicrosoftVBscript (0x800A03EA) -> หายไปถ้าหรือสิ้นสุด
ข้อผิดพลาดของคอมไพเลอร์ MicrosoftVBscript (0x800A03EE)–>คำสั่งไม่สิ้นสุด (หายไป ")")
ข้อผิดพลาดของคอมไพเลอร์ MicrosoftVBscript (0x800A03F6)–> หากข้อผิดพลาดของคำสั่ง (ไม่มี endif)
ข้อผิดพลาดรันไทม์ MicrosoftVBscript (0x800A005B) -> ชุดหายไป
ข้อผิดพลาดรันไทม์ MicrosoftVBscript (0x800A0005)–>ไม่ได้กำหนดตัวแปร
ข้อผิดพลาดของคอมไพเลอร์ MicrosoftVBscript (0x800A03F9)–> หากไม่มีคำสั่ง
ข้อผิดพลาดของคอมไพเลอร์ MicrosoftVBscript (0x800A0411)–> ข้อผิดพลาดคำจำกัดความของคำสั่ง dim
ADODB.Recordset(0x800A0BB9)–>ข้อผิดพลาดของคำสั่ง SQL (ไม่ได้กำหนดคำสั่ง SQL หรือคำสั่ง conn หรือมีข้อผิดพลาดเกิดขึ้นเมื่อกำหนดค่าให้กับแอตทริบิวต์ rs)
ADODB.Recordset(0x800A0CC1)–>ข้อผิดพลาดของวัตถุ rs (วัตถุ rs ไม่มีอยู่หรืออ้างอิงชื่อฟิลด์ที่ไม่มีอยู่อย่างไม่ถูกต้อง)
ADODB.Recordset(0x800A0BCD)–>rs object error (ไม่มีบันทึกในชุดบันทึก แต่ชุดบันทึกถูกดำเนินการ)
ADODB.Recordset(0x800A0E78)–>rs object error (ไม่มีชุดบันทึก คำสั่ง rs.open หายไป)
ADODB.Recordset(0x800A0CC1) –> ข้อผิดพลาดของวัตถุ rs (อ้างอิงชื่อฟิลด์ที่ไม่มีอยู่จริง)
ADODB.Recordset(0x800A0E7D)–>ข้อผิดพลาดคำจำกัดความ conn
ADODB.Recordset(0x800A0CB3)–>ฐานข้อมูลถูกเปิดในโหมดอ่านอย่างเดียวและไม่สามารถอัปเดตข้อมูลได้