การเพิ่มตัวจัดการปุ่ม Run

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

เมื่อต้องการสร้างตัวจัดการปุ่ม Run

เมื่อต้องการสร้างตัวจัดการ คุณต้องใช้คลาสที่ OLE DB Consumer แม่ต่อไป:

แต่ละชั้นเรียนเหล่านี้สอดคล้องกับวัตถุ COM ในผู้ให้บริการ?

เพิ่มรหัสที่แสดงด้านล่าง ในรหัสนี้จัดการ วัตถุCCommandใช้คลาสCProviderเป็นพารามิเตอร์แม่ พารามิเตอร์นี้แสดงถึงการรวมใช้ตัวให้บริการการเข้าถึงข้อมูล?

///////////////////////////////////////////////////////////////////////
/ / TestProvDlg.cpp

โมฆะ CTestProvDlg::OnRun()
{
   CCommandltCAccessor <CProvider> > ตาราง
   แหล่งที่มาของ CDataSource
   CSession เซสชัน

ถ้า (แหล่งที่มาOpen("MyProvider.MyProvider.1", NULL) ! = S_OK)
      กลับ

ถ้า (เซสชันนี้Open(source) ! = S_OK)
      กลับ

ถ้า (ตารางเปิด (เซสชัน _T("c:\\public\\testprf2\\gloo.txt")) ! = S_OK)
      กลับ

ในขณะที่ (ตารางMoveNext() == S_OK)
   {
      m_ctlString1.AddString(table.szCommand)
      m_ctlString2.AddString(table.szText)
   }
}

ตัวจัดการการใช้สามเปิดสาย แสดงอยู่ด้านล่าง ซึ่งสอดคล้องกับวัตถุ COM สามในผู้ให้บริการ หาตำแหน่งที่จะตั้งตัวให้บริการ โดยใช้ProgIDของ คุณสามารถขอรับProgIDจากรีจิสทรีของระบบ หรือ โดยการหาในตัวให้บริการ rgs แฟ้ม ( MyProvider.rgs สำหรับผู้ให้บริการแบบง่ายแสดงในการนำเป็นผู้ให้บริการแบบง่าย ๆ) ผู้ให้บริการเปิดแฟ้มข้อความที่ชื่อ gloo.txt ซึ่งประกอบด้วยเป็นจำนวนคู่ของสายอักขระที่ถูกคั่น ด้วยอักขระขึ้นบรรทัดการส่งกลับ เปิดผ่าน pathname ในแฟ้มไปยังผู้ให้บริการเป็นสตริการผู้ให้บริการ?

   ถ้า (แหล่งที่มาOpen("MyProvider.MyProvider.1", NULL) ! = S_OK)
      กลับ

ถ้า (เซสชันนี้Open(source) ! = S_OK)
      กลับ

ถ้า (ตารางเปิด (เซสชัน _T("c:\\public\\testprf2\\gloo.txt")) ! = S_OK)
      กลับ

การดึงข้อมูล การจัดการโทร table.MoveNext ดังแสดงด้านล่าง เมื่อมี ไม่มีแถวเพิ่มเติมจากผู้ให้บริการส่งกลับค่าDB_S_ENDOFROWSETและสิ้นสุดลงของการวนรอบ คำสั่งควบคุมการวนรอบเปรียบเทียบค่าส่งคืนS_OK ถ้ารหัสใช้แมโครสำเร็จแล้วการวนรอบจะไม่สิ้นสุดเนื่องจากDB_S_ENDOFROWSETจะถือว่ารหัสส่งกลับประสบความสำเร็จ?

   ในขณะที่ (ตารางMoveNext() == S_OK)
   {
      m_ctlString1.AddString(table.szCommand)
      m_ctlString2.AddString(table.szText)
   }

ผู้บริโภคที่มีพร้อมสำหรับการทดสอบกับผู้ให้บริการวิ (ถูกสร้างขึ้นในการใช้ตัวให้บริการแบบง่าย ๆ)?

หัวข้อถัดไปแสดงวิธีการแก้ไขที่ผู้บริโภคใช้กับการปรับปรุงการให้บริการที่ใช้อินเทอร์เฟซสำหรับIRowsetLocate?

กลับไปนำตัวผู้บริโภคแม่ DB OLE

Index