Partilhar via


Classe CXMLAccessor

Permite acessar fontes de dados como dados de seqüência de caracteres quando você não possui conhecimento do esquema do armazenamento de dados (subjacente estrutura).

class CXMLAccessor : public CDynamicStringAccessorW

Membros

a8f7s7hh.collapse_all(pt-br,VS.110).gifMétodos

GetXMLColumnData

Recupera as informações de coluna.

GetXMLRowData

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

Comentários

No entanto, CXMLAccessor difere do CDynamicStringAccessorW que converte todos os dados acessados do armazenamento de dados como dados (marcados) formatada em XML.Isso é especialmente útil para saída para páginas da Web com reconhecimento de XML.Os nomes de marca XML serão corresponder os nomes de coluna do armazenamento de dados possível.

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

As informações de coluna são armazenadas em um buffer criado e gerenciado por esta classe.Obter informações de coluna usando GetXMLColumnData ou obter dados de coluna por linhas usando 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

OLE DB consumidor modelos (C++)

Referência de modelos OLE DB consumidor