CRecordset::Open

เสมือน BOOL เปิด ( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = );
โยน ( CDBException, CMemoryException );

ส่งกลับค่า

ไม่ใช่ศูนย์ถ้าสำเร็จ เปิดวัตถุCRecordset 0 อื่นถ้าCDatabase::Open (ถ้าเรียกว่า) ส่งกลับค่า 0?

พารามิเตอร์

nOpenType

ยอมรับค่าเริ่มต้นAFX_DB_USE_DEFAULT_TYPEหรือใช้วิธีการใดวิธีการหนึ่งในค่าต่อไปนี้จากenum OpenType:

lpszSQL

ตัวชี้ของสายอักขระที่ประกอบด้วยอย่างใดอย่างหนึ่งต่อไปนี้:

dwOptions

Bitmask ซึ่งสามารถระบุชุดของค่าระบุไว้ด้านล่าง บางส่วนจะแยกออกจากกัน ค่าเริ่มต้นคือไม่มี?

หมายเหตุ

คุณต้องเรียกใช้ฟังก์ชันนี้สมาชิกเพื่อเรียกใช้แบบสอบถามที่กำหนด โดยชุดระเบียน ก่อนการเรียกเปิดคุณต้องสร้างวัตถุ recordset?

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

หมายเหตุnbsp  การเข้าถึงแหล่งข้อมูลผ่านวัตถุCRecordsetเสมอให้ใช้ร่วมกัน แตกต่างจากคลาCDaoRecordsetคุณไม่สามารถใช้วัตถุCRecordsetในการเปิดแหล่งข้อมูล ด้วยการเข้าถึงแบบเอกสิทธิ์เฉพาะบุคคล(&N)?

เมื่อคุณเรียกใช้เปิดแบบสอบถาม โดยปกติแล้วคำสั่ง SQLเลือกเลือกระเบียนโดยยึดตามเงื่อนไขที่แสดงในตารางต่อไปนี้?

ค่าของพารามิเตอร์ lpszSQL ระเบียนที่เลือกถูกกำหนดโดย ตัวอย่าง
ค่า NULL สตริงที่ส่งกลับโดยGetDefaultSQL?
ชื่อตาราง SQL คอลัมน์ทั้งหมดของตารางรายการในDoFieldExchangeหรือDoBulkFieldExchange?
 "ลูกค้า"
ชื่อแบบสอบถามที่กำหนดไว้ล่วงหน้า (กระบวนงานที่เก็บไว้) คอลัมน์มีกำหนดแบบสอบถามส่งกลับ?
"{โทร OverDueAccts }"
เลือกรายการคอลัมน์จากตารางรายการ ระบุคอลัมน์จากตารางที่ระบุ?
"เลือก CustId, CustName จากลูกค้า"

! คำเตือนnbsp  ระวังว่า คุณไม่สามารถแทรกช่องว่างเพิ่มเติมในสตริง SQL ของคุณ ตัวอย่างเช่น ถ้าคุณแทรกช่องว่างระหว่างวงเล็บและคำสำคัญที่เรียกMFC จะ misinterpret สตริง SQL เป็นชื่อตาราง และรวมไว้ในคำสั่ง select ซึ่งจะส่งผลให้ข้อยกเว้นที่ถูกส่งออกไป ในทำนองเดียวกัน ถ้าแบบสอบถามของคุณกำหนดไว้ล่วงหน้าใช้พารามิเตอร์ขาออกมี ไม่แทรกช่องว่างระหว่างวงเล็บและ ' ?' สัญลักษณ์ สุดท้าย คุณต้องไม่แทรกช่องว่างก่อนวงเล็บ ในคำสั่งเรียกหรือ ก่อนการเลือกคำสำคัญใน statmentเลือก(&N)?

กระบวนการปกติคือการ ส่งผ่านค่า NULLจะเปิด ในกรณีนี้เปิดเรียกGetDefaultSQL ถ้าคุณกำลังใช้คลาสที่ได้รับCRecordset , GetDefualtSQLทำให้ชื่อของตารางคุณระบุไว้ใน ClassWizard คุณสามารถระบุข้อมูลอื่น ๆ แทนในพารามิเตอร์lpszSQL?

สิ่งที่คุณส่งผ่าน โครงสร้างขั้นสุดท้ายสตริ SQL สำหรับแบบสอบถาม (สตริอาจมีอนุ SQLที่ใดและใบสั่งโดยได้ถูกผนวกเข้ากับสตริlpszSQLคุณผ่าน) และดำเนินการแบบสอบถามแล้วเปิด คุณสามารถตรวจสอบสายที่ประดิษฐ์ โดยเรียกGetSQLหลังจากเรียกเปิด บทความการดูรายละเอียดเพิ่มเติมเกี่ยวกับโครงสร้างคำสั่ง SQL และวิธีเลือกระเบียน ของชุดระเบียน ชุดระเบียน: วิธีชุดระเบียนเลือกระเบียน (ODBC)ในVisual c ++ Programmer ของคำแนะนำ?

เขตข้อมูลข้อมูลสมาชิกของคลาสชุดระเบียนของคุณผูกไว้กับคอลัมน์ข้อมูลที่เลือก ถ้าระเบียนใด ๆ มีการส่งกลับระเบียนแรกกลายเป็น ระเบียนปัจจุบัน?

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

สำหรับข้อมูลเพิ่มเติม การรวมตัวอย่างเพิ่มเติม ให้ดูบทความ ชุดระเบียน (ODBC), ชุดระเบียน: วิธีชุดระเบียนเลือกระเบียน (ODBC)และ ชุดระเบียน: การสร้าง และการปิดชุดระเบียน (ODBC)ในVisual c ++ Programmer ของคำแนะนำ?

ตัวอย่าง

แบบฟอร์มต่าง ๆ ของการโทรที่เปิดแสดงในตัวอย่างรหัสต่อไปนี้?

/ / อาร์เอสเป็น CRecordset หรือ
/ / มา CRecordset วัตถุ

/ / อาร์เอสเปิดโดยใช้คำสั่ง SQL ที่เป็นค่าเริ่มต้น
/ / ใช้คั่นหน้า และปิดการใช้งาน
/ / การตรวจสอบเขตข้อมูลโดยอัตโนมัติที่สกปรก
อาร์เอสเปิด (CRecordset::snapshot, NULL
 nbsp       CRecordset::useBookmarks |
         CRecordset::noDirtyFieldCheck);

/ / ผ่านคำสั่ง select คำสั่งเสร็จสมบูรณ์
/ / และเปิดเป็น dynaset
อาร์เอสเปิด (CRecordset::dynaset
         _T ("เลือก L_Name จากลูกค้า"));

/ / ยอมรับค่าเริ่มต้นทั้งหมด
อาร์เอส(เปิด)(&N)

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

ดูเพิ่มเติมnbspCRecordset::CRecordset, CRecordset::Close, CRecordset::GetDefaultSQL, CRecordset::GetSQL, CRecordset::m_strFilter, CRecordset::m_strSort, CRecordset::Requery(&N)

Index