Freigeben über


CXMLAccessor-Klasse

Ermöglicht den Zugriff auf verwenden als Zeichenfolgendaten, wenn Sie kein Wissen des Schemas des Datenspeichers haben (die zugrunde liegende Struktur).

class CXMLAccessor : public CDynamicStringAccessorW

Mitglieder

a8f7s7hh.collapse_all(de-de,VS.110).gifMethoden

GetXMLColumnData

Ruft die Spalteninformationen ab.

GetXMLRowData

Ruft den gesamten Inhalt einer Tabelle mit Zeilen ab.

Hinweise

CXMLAccessor unterscheidet sich jedoch von CDynamicStringAccessorW dadurch, dass alle Daten konvertiert, auf die vom Datenspeicher aus zugegriffen werden (als markierte) Daten im XML-Format.Dies ist für die Ausgabe an XML-bewussten Webseiten hilfreich.Die XML-Tag den Spaltennamen gleichen Namen des Datenspeichers so genau wie möglich ab.

Verwenden Sie CDynamicAccessor-Methoden, um Spalteninformationen zu beziehen.Sie verwenden diese Spalteninformationen, um einen Accessor zur Laufzeit dynamisch zu erstellen.

Die Spalteninformationen werden in einem Puffer gespeichert, der von dieser Klasse erstellt und verwaltet wird.Rufen Sie Spalteninformationen abrufen oder mithilfe GetXMLColumnData Spaltendaten von Zeilen mithilfe GetXMLRowData.

Beispiel

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

Anforderungen

Header: atldbcli.h

Siehe auch

Referenz

CAccessor-Klasse

CDynamicAccessor-Klasse

CDynamicParameterAccessor-Klasse

CDynamicStringAccessor-Klasse

CDynamicStringAccessorA-Klasse

CDynamicStringAccessorW-Klasse

CManualAccessor-Klasse

Konzepte

OLE DB-Consumervorlagen (C++)

OLE DB-Consumer-Vorlagen-Verweis