Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Umożliwia dostęp do źródeł danych jako danych ciągu, gdy nie masz wiedzy na temat schematu magazynu danych (podstawowej struktury).
Składnia
class CXMLAccessor : public CDynamicStringAccessorW
Wymagania
Nagłówek: atldbcli.h
Elementy członkowskie
Metody
| Nazwa/nazwisko | opis |
|---|---|
| GetXMLColumnData | Pobiera informacje o kolumnie. |
| GetXMLRowData | Pobiera całą zawartość tabeli według wierszy. |
Uwagi
Jednak różni się od CDynamicStringAccessorW tego, CXMLAccessor że konwertuje wszystkie dane dostępne z magazynu danych jako dane sformatowane w formacie XML (oznakowane). Jest to szczególnie przydatne w przypadku danych wyjściowych stron sieci Web obsługujących kod XML. Nazwy tagów XML będą zgodne z nazwami kolumn magazynu danych tak blisko, jak to możliwe.
Użyj CDynamicAccessor metod, aby uzyskać informacje o kolumnie. Te informacje w kolumnie służą do dynamicznego tworzenia metody dostępu w czasie wykonywania.
Informacje o kolumnie są przechowywane w buforze utworzonym i zarządzanym przez tę klasę. Uzyskaj informacje o kolumnie przy użyciu metody GetXMLColumnData lub uzyskaj dane kolumn według wierszy przy użyciu metody GetXMLRowData.
Przykład
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();
}
CXMLAccessor::GetXMLColumnData
Pobiera informacje o typie kolumny tabeli jako dane ciągów w formacie XML według kolumny.
Składnia
HRESULT GetXMLColumnData(CSimpleStringW& strOutput) throw();
Parametry
strOutput
[out] Odwołanie do buforu ciągów zawierającego informacje o typie kolumny do pobrania. Ciąg jest sformatowany przy użyciu nazw tagów XML, które są zgodne z nazwami kolumn magazynu danych.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Uwagi
Poniżej przedstawiono sposób formatowania informacji o typie kolumny w formacie XML. type określa typ danych kolumny. Należy pamiętać, że typy danych są oparte na typach danych OLE DB, a nie na bazach danych, do których uzyskuje się dostęp.
<columninfo>
<column type = I2/> ColumnName
</columninfo>
CXMLAccessor::GetXMLRowData
Pobiera całą zawartość tabeli jako dane ciągów w formacie XML według wiersza.
Składnia
HRESULT GetXMLRowData(CSimpleStringW& strOutput,
bool bAppend = false) throw();
Parametry
strOutput
[out] Odwołanie do buforu zawierającego dane tabeli do pobrania. Dane są formatowane jako dane ciągu z nazwami tagów XML, które są zgodne z nazwami kolumn magazynu danych.
bAppend
[in] Wartość logiczna określająca, czy dołączyć ciąg na końcu danych wyjściowych.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Uwagi
Poniżej przedstawiono sposób formatowania danych wierszy w formacie XML. DATA Poniżej przedstawiono dane wierszy. Użyj metod przenoszenia, aby przejść do żądanego wiersza.
<row>
<column name>DATA</column name>
</row>
Zobacz też
Szablony konsumentów OLE DB
Szablony konsumentów OLE DB — dokumentacja
CAccessor, klasa
CDynamicAccessor, klasa
CDynamicParameterAccessor, klasa
CDynamicStringAccessor, klasa
CDynamicStringAccessorA, klasa
CDynamicStringAccessorW, klasa
CManualAccessor, klasa