Partilhar via


Classe CXMLAccessor

Permite que você acesse fontes de dados como dados de cadeia de caracteres quando você não tem conhecimento do esquema do repositório de dados (estrutura subjacente).

class CXMLAccessor : public CDynamicStringAccessorW

Membros

Métodos

GetXMLColumnData

Recupera as informações da coluna.

GetXMLRowData

Recupera todo o conteúdo de uma tabela por linhas.

Comentários

No entanto, CXMLAccessor difere de CDynamicStringAccessorW que converte todos os dados acessados no repositório de dados marcados como dados () em formato XML. Isso é especialmente útil para saída nas páginas da Web XML reconhecimento de instância. Os nomes da marca XML serão os nomes de coluna do repositório de dados do mais próximo possível.

Use os métodos de CDynamicAccessor para obter informações de coluna. Você usa essas informações de coluna para criar dinamicamente em tempo de execução um acessador.

As informações de coluna é armazenada em um buffer criada e gerenciada por essa classe. Obtenha informações de coluna usando GetXMLColumnData ou obtenha dados de coluna por linhas que usam GetXMLRowData.

Exemplo

void DoCXMLAccessorTest()
{
   HRESULT hr = CoInitialize(NULL);

   CDataSource ds;
   CSession ss;

   CTable<CXMLAccessor> rs;

   // The following is an example initialization string:
   hr = ds.OpenFromInitializationString(L"Provider=Microsoft.Jet.OLEDB.4.0;"
      L"User ID=Admin;Data Source=Snippet.mdb;Mode=Share Deny None;"
      L"Extended Properties=\"\";Jet OLEDB:System database=\"\";"
      L"Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";"
      L"Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;"
      L"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;"
      L"Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;"
      L"Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;"
      L"Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False");

   hr = ss.Open(ds);
   hr = rs.Open(ss, L"Customer"); // Customer is a table name in the database.

   CStringW strColumnInfo;
   rs.GetXMLColumnData(strColumnInfo);
   wprintf_s(L"%s\n", strColumnInfo);

   hr = rs.MoveFirst();
   while(SUCCEEDED(hr) && hr != DB_S_ENDOFROWSET)
   {
      CStringW strRowData;
      rs.GetXMLRowData(strRowData);
      wprintf_s(L"%s\n", strRowData);
      hr = rs.MoveNext();
   }

   ss.Close();
   ds.Close();
   CoUninitialize();
}

Requisitos

Cabeçalho: atldbcli.h

Consulte também

Referência

Classe CAccessor

Classe CDynamicAccessor

Classe CDynamicParameterAccessor

Classe CDynamicStringAccessor

Classe CDynamicStringAccessorA

Classe CDynamicStringAccessorW

Classe CManualAccessor

Conceitos

Modelos de consumidor de banco de dados OLE (C++)

Referência dos modelos de consumidor de banco de dados OLE