Ukládání řetězců ve zprostředkovateli OLE DB
V MyProviderRS.h vytvoří Průvodce zprostředkovatele knihovny ATL technologie OLE DB výchozí uživatelský záznam nazvaný CWindowsFile.Chcete-li zpracovat dva řetězce, buď upravte CWindowsFile nebo můžete přidat vlastní uživatelský záznam, jak je ukázáno v následujícím kódu:
////////////////////////////////////////////////////////////////////////
class CAgentMan:
public WIN32_FIND_DATA
DWORD dwBookmark; // Add this
TCHAR szCommand[256]; // Add this
TCHAR szText[256]; // Add this
TCHAR szCommand2[256]; // Add this
TCHAR szText2[256]; // Add this
{
public:
BEGIN_PROVIDER_COLUMN_MAP()
PROVIDER_COLUMN_ENTRY_STR(OLESTR("Command"), 1, 256, GUID_NULL, CAgentMan, szCommand)
PROVIDER_COLUMN_ENTRY_STR(OLESTR("Text"), 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()
bool operator==(const CAgentMan& am) // This is optional
{
return (lstrcmpi(cFileName, wf.cFileName) == 0);
}
};
Datové členy szCommand a szText představují dva řetězce a s szCommand2 a szText2 poskytují další sloupce podle potřeby.Datový člen dwBookmark není nutný pro tohoto jednoduchého zprostředkovatele pouze pro čtení, ale používá se později pro přidání rozhraní IRowsetLocate viz Vylepšení jednoduchého zprostředkovatele pouze pro čtení.Operátor == porovnává instance (implementace tohoto operátoru je nepovinná).
Když toto uděláte, váš zprostředkovatel by měl být připraven ke kompilaci a spuštění.Chcete-li otestovat zprostředkovatele, je třeba příjemce s odpovídající funkcionalitou.Implementace jednoduchého příjemce ukazuje, jak vytvořit takové testovací příjemce.Spusťte zkušebního příjemce se sprostředkovatelem.Ověřte, že zkušební příjemce obdrží správné řetězce ze zprostředkovatele, když kliknete na tlačítko Spustit v dialogovém okně Zkušební příjemce.
Pokud jste úspěšně otestovali zprostředkovatele, můžete vylepšit jeho funkcionalitu tím, že přidáte další rozhraní.Příklad je uveden v Vylepšení jednoduchého zprostředkovatele pouze pro čtení.