Udostępnij za pośrednictwem


Przechowywanie ciągów w dostawcy OLE DB

W MyProviderRS.h, ATL OLE DB dostawca Kreator tworzy domyślnego rekordu użytkownika o nazwie CWindowsFile.Aby obsługiwać dwa ciągi, albo zmodyfikować CWindowsFile lub dodać rekord użytkownika, jak pokazano w poniższym kodzie:

////////////////////////////////////////////////////////////////////////
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);
   }
};

Zmienne składowe szCommand i szText stanowią dwa ciągi, z szCommand2 i szText2 zapewnienie dodatkowych kolumn, w razie potrzeby.Członek danych dwBookmark nie jest wymagany dla tego prostego dostawcy tylko do odczytu, ale później służy do dodawania IRowsetLocate interfejsu; zobacz Zwiększanie proste odczytu tylko dostawca.== Operator porównuje wystąpień (wykonania tego operatora jest opcjonalny).

Gdy to nastąpi, dostawca powinien być gotowy do kompilowania i uruchamiania.Aby przetestować dostawca, musisz konsumenta z pasującymi funkcjonalność.Wykonania prostego konsumenta przedstawiono sposób tworzenia konsumentów test.Uruchom test konsumenta z dostawcą.Sprawdź, czy konsument badania pobiera odpowiednie ciągi od dostawcy, po kliknięciu przycisku uruchomić przycisk w Konsumentów Test okno dialogowe.

Przy zostały pomyślnie badania z dostawcą, może wystąpić potrzeba zwiększenia jego funkcjonalności, implementując dodatkowe interfejsy.Przykład znajduje się w Zwiększanie proste dostawca tylko do odczytu.

Zobacz też

Informacje

Implementowanie prostego dostawcy tylko do odczytu