Sdílet prostřednictvím


CXMLAccessor – třída

Umožňuje přístup ke zdrojům dat jako řetězcová data, když nemáte žádné znalosti o schématu úložiště dat (základní strukturu).

class CXMLAccessor : public CDynamicStringAccessorW

Členy

Metody

GetXMLColumnData

Načte informace o sloupci.

GetXMLRowData

Zkopíruje celý obsah tabulky po řádcích.

Poznámky

Nicméně CXMLAccessor se liší od CDynamicStringAccessorW v tom, že převádí všechna data z úložiště dat jako dat ve formátu XML (značkovaná).To je užitečné zejména pro výstup do XML podporující webové stránky.Názvy značek XML budou odpovídat názvy sloupců úložiště dat co nejblíže.

Použití metod CDynamicAccessor k získání informací o sloupci. Tyto informace sloupce můžete použít k vytvoření dynamicky přistupujícího objektu za běhu.

Informace sloupce jsou uloženy ve vyrovnávací paměti a spravovány touto třídou.Získání informací pomocí sloupce GetXMLColumnData nebo získat data sloupce řádků pomocí GetXMLRowData.

Příklad

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

Požadavky

Záhlaví: také atldbcli.h

Viz také

Referenční dokumentace

CAccessor – třída

CDynamicAccessor – třída

CDynamicParameterAccessor – třída

CDynamicStringAccessor – třída

CDynamicStringAccessorA – třída

CDynamicStringAccessorW – třída

CManualAccessor – třída

Koncepty

OLE DB – šablony příjemce (C++)

Referenční dokumentace k šablonám příjemců OLE DB