Partilhar via


Armazenar seqüências de caracteres no provedor OLE DB

MyProviderRS.h, o ATL OLE DB Provider assistente cria um registro de usuário padrão chamado CWindowsFile.Para lidar com as duas seqüências, modifique CWindowsFile ou adicionar seu próprio registro de usuário, como mostrado no código a seguir:

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

Os membros de dados szCommand e szText representam as duas seqüências, com szCommand2 e szText2 fornecendo colunas adicionais, se necessário.O membro de dados dwBookmark não é necessário para este provedor de somente leitura simple, mas é usado posteriormente para adicionar um IRowsetLocate interface; consulte melhorando a leitura apenas provedor simples.O == operador compara instâncias (implementar esse operador é opcional).

Quando isso for feito, o provedor deve estar pronto para compilar e executar.Para testar o provedor, você precisa de um consumidor com funcionalidade de correspondentes.Implementar um consumidor simples mostra como criar um consumidor de teste.Execute o consumidor de teste com o provedor.Verificar que consumidor teste recupera as seqüências de caracteres apropriadas do provedor quando você clicar na Executar botão na Consumidor teste caixa de diálogo.

Quando o provedor foi testada com sucesso, talvez queira aumentar sua funcionalidade ao implementar interfaces adicionais.Um exemplo é mostrado na aprimorando o provedor de somente leitura simples.

Consulte também

Referência

Implementando o provedor de somente leitura Simple