CDaoQueryDef

วัตถุCDaoQueryDefแสดงถึงคำจำกัดความแบบสอบถาม หรือ "querydef โดยปกติหนึ่งถูกบันทึกไว้ในฐานข้อมูล Querydef มี data access object ที่ประกอบด้วยคำสั่ง SQL ที่อธิบายถึงแบบสอบถาม และคุณสมบัติของ เช่น "วันสร้าง" และ "หมดเวลา ODBC นอกจากนี้คุณยังสามารถสร้างวัตถุ querydef ชั่วคราวได้โดยไม่ต้องบันทึกเหล่านั้น แต่ก็สะดวก — และมีประสิทธิภาพมาก — เพื่อบันทึกทั่วไปนำแบบสอบถามในฐานข้อมูล คอลเลกชัน เรียกว่าชุด QueryDefs ที่ประกอบด้วย querydefs ที่บันทึกไว้ของการเก็บรักษาวัตถุCDaoDatabase?

หมายเหตุnbsp  คลาสที่ฐานข้อมูล DAO นั้นแตกต่างจากคลาสที่ฐานข้อมูล MFC ใช้ Open Database Connectivity (ODBC) ชื่อคลาส DAO ฐานข้อมูลทั้งหมดมีคำนำหน้า "CDao" คุณสามารถยังเข้าถึงแหล่งข้อมูล ODBC กับคลาสที่ DAO ทั่วไป MFC คลาสที่ใช้บนดาวมีความสามารถมากขึ้นกว่า MFC คลาสที่ใช้ ODBC คลาสที่ใช้ DAO สามารถเข้าถึงข้อมูล การรวมถึงโปรแกรมควบคุม ODBC ผ่านกลไกจัดการฐานข้อมูลด้วยตนเอง คลาสที่ใช้ DAO ยังสนับสนุนการดำเนินการข้อมูลคำจำกัดความภาษา (DDL) เช่นการเพิ่มตารางที่ผ่านการเรียน โดยไม่ต้องเรียกดาวโดยตรง(&N)?

ใช้งาน

ใช้วัตถุ querydef อย่างใดอย่างหนึ่ง เพื่อทำงานกับแบบสอบถามที่บันทึกไว้ที่มีอยู่ หรือ เพื่อสร้างใหม่บันทึกแบบสอบถามหรือแบบสอบถามที่ชั่วคราว:

  1. ในทุกกรณี ครั้งแรกสร้างเป็นวัตถุCDaoQueryDefขายตัวชี้ไปยังวัตถุCDaoDatabaseซึ่งแบบสอบถามที่เป็นสมาชิก?

  2. จากนั้น ให้ทำดังนี้ ขึ้นอยู่กับสิ่งที่คุณต้องการ:
    • การใช้แบบสอบถามบันทึกไว้ที่มีอยู่ ของวัตถุ querydefเปิดสมาชิกฟังก์ชัน call ขายชื่อของแบบสอบถามที่บันทึกไว้?

    • เมื่อต้องการสร้างแบบสอบถามการบันทึกใหม่ เรียกของวัตถุ querydefสร้างสมาชิกฟังก์ชัน ขายชื่อของแบบสอบถาม จึง เรียกผนวกไปยังบันทึกแบบสอบถาม โดยการผนวกไปยังคอลเลกชันของ QueryDefs ของฐานข้อมูล สร้างทำให้ querydef เข้าสู่สถานะการเปิด ดังนั้นหลังจากสร้างการโทร คุณไม่เรียกเปิด?

    • เมื่อต้องการสร้างการ querydef ชั่วคราว โทรสร้าง ผ่านเป็นสตริงที่ว่างเปล่าสำหรับชื่อแบบสอบถาม ไม่ได้เรียกใช้ผนวกข้อมูล?

เมื่อคุณเสร็จสิ้นการใช้วัตถุ querydef เรียกใช้ฟังก์ชันของสมาชิกปิด แล้ว ทำลายวัตถุ querydef?

เคล็ดลับnbsp  วิธีง่ายที่สุดในการสร้างแบบสอบถามที่บันทึกไว้คือการ สร้าง และเก็บไว้ในฐานข้อมูลของคุณโดยใช้ Microsoft Access จากนั้น คุณสามารถเปิด และใช้ข้อมูลเหล่านั้นในรหัสของคุณ MFC(&N)?

วัตถุประสงค์

คุณสามารถใช้วัตถุ querydef ใด ๆ ของวัตถุประสงค์ต่อไปนี้:

คุณสามารถใช้วัตถุ querydef สำหรับชนิดของแบบสอบถาม การรวมทั้งการเลือก การกระทำ แท็บไขว้ ลบ ปรับปรุง ผนวก สร้างตาราง คำจำกัดความของข้อมูล SQL แบบพาส-ทรู สหภาพ และ bulk แบบสอบถาม ชนิดของแบบสอบถามจะถูกกำหนด โดยเนื้อหาของคำสั่ง SQL ที่คุณใส่ ดูข้อมูลเกี่ยวกับชนิดของแบบสอบถาม ฟังก์ชันสมาชิกดำเนินและGetType ชุดระเบียนนั้นมักจะใช้การส่งกลับแถวแบบสอบถาม โดยปกติผู้ใช้เลือก... จากคำสำคัญ Executeถูกใช้สำหรับการดำเนินงานขนาดใหญ่มากที่สุด สำหรับข้อมูลเพิ่มเติม โปรดดูรันและCDaoRecordset?

Querydefs และชุดระเบียน

การใช้วัตถุ querydef เพื่อสร้างวัตถุCDaoRecordsetคุณมักจะสร้าง หรือเปิด querydef ตามที่อธิบายไว้ข้างต้น แล้ว สร้างวัตถุ recordset ผ่านตัวชี้วัตถุ querydef ของคุณเมื่อคุณเรียกใช้CDaoRecordset::Open Querydef คุณส่งต้องอยู่ในสถานะเปิด ดูข้อมูลเพิ่มเติม คลาสCDaoRecordset?

คุณไม่สามารถใช้ querydef การสร้างชุดระเบียน (ใช้กันทั่วไปสำหรับการ querydef) เว้นแต่จะอยู่ในสถานะเปิด ใส่ querydef เข้าสู่สถานะการเปิด โดยการเรียกแบบเปิดหรือสร้าง?

ฐานข้อมูลภายนอก

วัตถุ Querydef วิธีใช้ในภาษา SQL ดั้งเดิมของโปรแกรมอยู่ภายนอกฐานข้อมูลที่ต้องได้ ตัวอย่างเช่น คุณสามารถสร้างแบบสอบถาม Transact SQL (ตามที่ใช้บน Microsoft SQL Server) และเก็บไว้ในวัตถุ querydef เมื่อคุณต้องการใช้แบบสอบถาม SQL แบบไม่ยึดตาม Microsoft Jet database engine คุณต้องใส่สายอักขระการเชื่อมต่อที่ชี้ไปยังแหล่งข้อมูลภายนอก แบบสอบถาม ด้วยถูกต้องเชื่อมต่อสายอักขระเลี่ยงผ่าน database engine และส่งแบบสอบถามโดยตรงไปยังเซิร์ฟเวอร์ฐานข้อมูลภายนอกสำหรับการประมวลผล?

เคล็ดลับnbsp  วิธีการทำงานกับตาราง ODBC ที่ต้องจะแนบไปกับแบบ Microsoft Jet (ฐานข้อมูล MDB) สำหรับข้อมูลเพิ่มเติม ให้ดูบทความ DAO ภายนอก: การทำงานกับแหล่งข้อมูลภายนอกกับในVisual c ++ Programmer ของคำแนะนำ(&N)?

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ querydefs ให้ดูบทความ DAO QuerydefในVisual c ++ Programmer's Guide สำหรับข้อมูลที่เกี่ยวข้อง ดูหัวข้อ "วัตถุ QueryDef", "QueryDefs คอลเลกชัน" และ "การเข้าถึงภายนอกฐานข้อมูลกับดาว" ในวิธีใช้ DAO?

#รวม lt;afxdao.h>

สมาชิกของคลาส|nbsp คลาสพื้นฐาน| แผนภูมิของลำดับชั้น(&N)

ตัวอย่างnbsp อย่าง MFC DAOVIEW | MFC อย่าง DAOTABLE(&N)

ดูเพิ่มเติมnbspCDaoRecordset, CDaoDatabase, CDaoTableDef, CDaoException(&N)

Index