เก็บสายอักขระใน OLE DB Provider

ใน MyProviderRS.h, ATL วัตถุตัวช่วยสร้างสร้างค่าเริ่มต้นผู้ใช้ระเบียนที่เรียกว่า CWindowsFile การจัดการทั้งสองสาย แก้ไข CWindowsFile หรือเพิ่มระเบียนของผู้ใช้ ตามที่แสดงที่นี่:

////////////////////////////////////////////////////////////////////////
คลา CAgentMan: WIN32_FIND_DATA สาธารณะ
   DWORD dwBookmark; nbsp             / / เพิ่มนี้
   TCHAR szCommand [256];          / / เพิ่มนี้
   TCHAR szText [256];             / / เพิ่มนี้
   TCHAR szCommand2 [256];         / / เพิ่มนี้
   TCHAR szText2 [256];            / / เพิ่มนี้
{
สาธารณะ:
BEGIN_PROVIDER_COLUMN_MAP(CAgentMan)
   PROVIDER_COLUMN_ENTRY ("FileAttributes", 1, dwFileAttributes)
   PROVIDER_COLUMN_ENTRY ("FileSizeHigh", 2, nFileSizeHigh)
   PROVIDER_COLUMN_ENTRY ("FileSizeLow", 3, nFileSizeLow)
   PROVIDER_COLUMN_ENTRY ("ชื่อแฟ้ม" 4, cFileName)
   PROVIDER_COLUMN_ENTRY ("AltFileName", 5, cAlternateFileName)
END_PROVIDER_COLUMN_MAP()
   ตัวดำเนินการ bool == (const CAgentMan & am) / / {เพิ่มเติมเป็น
      กลับ (lstrcmpi (cFileName, wf.cFileName) == 0);
   }
}

สมาชิกข้อมูล szCommand และ szText เป็นตัวแทนสายอักขระสอง กับ szCommand2 และ szText2 ให้คอลัมน์เพิ่มเติมถ้าจำเป็น ข้อมูลสมาชิก dwBookmark ที่ไม่จำเป็นสำหรับการให้บริการเพียงแค่อ่านอย่างเดียวนี้ แต่จะถูกใช้ในภายหลังเพื่อเพิ่มการอินเทอร์เฟซสำหรับ IRowsetLocate ==ตัวดำเนินการเปรียบเทียบกรณี (ใช้ตัวดำเนินการนี้ไม่ก็)

เพื่อสนับสนุนสายอักขระสองPROVIDER_COLUMN_MAPจำเป็นต้องปรับเปลี่ยนด้วย แทนPROVIDER_COLUMN_MAPที่แสดงอยู่ด้านบนกับที่แสดงที่นี่:

BEGIN_PROVIDER_COLUMN_MAP()
 nbsp  PROVIDER_COLUMN_ENTRY_STR(OLESTR("Command"), 1, 256, GUID_NULL, CAgentMan, szCommand)
    PROVIDER_COLUMN_ENTRY_STR (OLESTR ("ข้อความ"), 2, 256, GUID_NULL, CAgentMan, szText) PROVIDER_COLUMN_ENTRY_STR(OLESTR("Command2"), 3, 256, GUID_NULL, CAgentMan, szCommand2)
    PROVIDER_COLUMN_ENTRY_STR (OLESTR ("Text2"), 4, 256, GUID_NULL, CAgentMan, szText2)
END_PROVIDER_COLUMN_MAP()(&N)

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

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

Index