ส่วนใหญ่ของโปรแกรมการเรียนรู้จะต้องเชื่อมต่อกับฐานข้อมูลสำหรับการทำงาน นี่คือข้อผิดพลาด ตัวแก้ไขของช่องเทคโนโลยีใหม่ไม่สามารถส่งคืนชุดระเบียนในกระบวนการจัดเก็บโดยใช้ OLEDB เพื่อนที่สนใจจะไปที่บทความต่อไปนี้เพื่อเรียนรู้เพิ่มเติม!
เหตุใดจึงไม่สามารถส่งคืนชุดบันทึกในวิธี OLEDB ในขั้นตอนที่เก็บไว้ได้
ฉันเคยเขียนโปรแกรมที่ทำงานบนตารางชั่วคราว (ฟังก์ชั่นหลักคือการดึงบันทึก 10 อันดับแรกของแต่ละหมวดหมู่)
ขั้นตอนที่เก็บไว้นี้เป็นเรื่องปกติเมื่อเชื่อมต่อกับฐานข้อมูลโดยใช้ ODBC และสามารถรับผลลัพธ์ที่ถูกต้อง อย่างไรก็ตามเมื่อเชื่อมต่อโดยใช้เมธอด OLEDB ชุดระเบียนจะไม่สามารถส่งคืนได้และข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นเมื่อการดำเนินการกลับไปยังชุดระเบียน:
adodb.recordset ข้อผิดพลาด '800a0e78'
ไม่อนุญาตให้ดำเนินการโดยแอปพลิเคชันหากวัตถุถูกปิด
มันทำให้ฉันงง ทำไม?
นี่เป็นเพราะมีความแตกต่างระหว่าง OLEDB และ ODBC นั่นคือเมื่อ ASP ดึงชุดบันทึกจาก ODBC, ODBC กรองตารางสร้าง
หรือแทรกลงในสร้างชุดระเบียนบางชุดที่ใช้เฉพาะตำแหน่ง แต่ไม่สามารถดำเนินการใด ๆ เมื่อ ASP ดึงบันทึกที่ตั้งค่าเป็น OLEDB, OLEDB และ
ชุดบันทึกเหล่านี้จะไม่ถูกกรองออก ดังนั้นเราควรดำเนินการตั้งค่า nocount ก่อนที่เราจะไม่ต้องการคืนบันทึกที่ตั้งไว้ในขั้นตอนที่เก็บไว้
ขั้นตอนที่เก็บไว้เป็นสิ่งต้องห้ามไม่ให้ส่งคืนชุดบันทึก; และเมื่อส่งคืนชุดระเบียนคุณต้องดำเนินการตั้งค่า nocount ก่อน ด้วยวิธีนี้ปัญหาจะได้รับการแก้ไข
บรรณาธิการของ文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文�