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
Methoden
Ruft die Spalteninformationen ab. |
|
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
CDynamicParameterAccessor-Klasse
CDynamicStringAccessorA-Klasse
CDynamicStringAccessorW-Klasse