CXMLAccessor-Klasse
Ermöglicht Sie zu den Zugriffsdatenquellen als Zeichenfolgendaten, wenn Sie das Schema des Datenspeichers nicht haben (die zugrunde liegende Struktur).
class CXMLAccessor : public CDynamicStringAccessorW
Member
Methoden
Ruft die Spalteninformationen ab. |
|
Ruft den gesamten Inhalt einer Tabelle mit Zeilen ab. |
Hinweise
CXMLAccessor unterscheidet sich jedoch dadurch von CDynamicStringAccessorW, dass es alle Daten konvertiert, die vom Datenspeicher als (markiert) zugegriffen werden Daten im XML-Format. Dies ist für die Ausgabe an XML-bewussten Webseiten besonders nützlich. Die gleichen XML-Tagnamen die Spaltennamen des Datenspeichers angestrebt ab, wie möglich.
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. Bringt Spalteninformationen mit GetXMLColumnData ein oder abgerufen Sie Spaltendaten durch 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