Klasa CXMLAccessorCXMLAccessor Class

Pozwala uzyskać dostęp do źródeł danych jako dane ciągu, gdy nie masz informacji o schemacie magazynu danych (struktura bazowa).Allows you to access data sources as string data when you have no knowledge of the data store's schema (underlying structure).

SkładniaSyntax

class CXMLAccessor : public CDynamicStringAccessorW

WymaganiaRequirements

Nagłówek: atldbcli. hHeader: atldbcli.h

Elementy członkowskieMembers

MetodyMethods

NazwaName OpisDescription
GetXMLColumnDataGetXMLColumnData Pobiera informacje o kolumnie.Retrieves the column information.
GetXMLRowDataGetXMLRowData Pobiera całą zawartość tabeli według wierszy.Retrieves the entire contents of a table by rows.

UwagiRemarks

Jednak CXMLAccessor różni się od CDynamicStringAccessorW w programie, aby przekonwertować wszystkie dane, do których uzyskuje się dostęp z magazynu danych jako dane w formacie XML (oznakowane).However, CXMLAccessor differs from CDynamicStringAccessorW in that it converts all data accessed from the data store as XML-formatted (tagged) data. Jest to szczególnie przydatne w przypadku danych wyjściowych na stronach sieci Web obsługujących język XML.This is especially useful for output to XML-aware Web pages. Nazwy tagów XML będą zgodne z nazwami kolumn magazynu danych tak blisko jak to możliwe.The XML tag names will match the data store's column names as closely as possible.

Użyj CDynamicAccessor metod, aby uzyskać informacje o kolumnie.Use CDynamicAccessor methods to obtain column information. Te informacje o kolumnie służą do dynamicznego tworzenia akcesora w czasie wykonywania.You use this column information to create an accessor dynamically at run time.

Informacje o kolumnie są przechowywane w buforze utworzonym i zarządzanym przez tę klasę.The column information is stored in a buffer created and managed by this class. Uzyskiwanie informacji o kolumnach przy użyciu GetXMLColumnData lub uzyskiwanie danych z kolumn przez wiersze przy użyciu GetXMLRowData.Obtain column information using GetXMLColumnData or obtain column data by rows using GetXMLRowData.

PrzykładExample

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:: GetXMLColumnDataCXMLAccessor::GetXMLColumnData

Pobiera informacje o typie kolumny tabeli jako dane ciągu sformatowane w formacie XML według kolumny.Retrieves the column type information of a table as XML-formatted string data, by column.

SkładniaSyntax

HRESULT GetXMLColumnData(CSimpleStringW& strOutput) throw();

ParametryParameters

strOutputstrOutput
określoną Odwołanie do buforu ciągu zawierającego informacje o typie kolumny do pobrania.[out] A reference to a string buffer containing the column type information to be retrieved. Ciąg jest sformatowany przy użyciu nazw tagów XML, które pasują do nazw kolumn magazynu danych.The string is formatted with XML tag names that match the data store's column names.

Wartość zwracanaReturn Value

Jedna ze standardowych wartości HRESULT.One of the standard HRESULT values.

UwagiRemarks

Poniżej przedstawiono sposób formatowania informacji o typie kolumny w formacie XML.The following shows how the column type information is formatted in XML. type Określa typ danych kolumny.type specifies the column's data type. Należy pamiętać, że typy danych są oparte na typach danych OLE DB, a nie w przypadku uzyskiwania dostępu do bazy danych.Note that the data types are based on OLE DB data types, not those of the database being accessed.

<columninfo>

<column type = I2/> ColumnName

</columninfo>

CXMLAccessor:: GetXMLRowDataCXMLAccessor::GetXMLRowData

Pobiera całą zawartość tabeli jako dane ciągu w formacie XML według wiersza.Retrieves the entire contents of a table as XML-formatted string data, by row.

SkładniaSyntax

HRESULT GetXMLRowData(CSimpleStringW& strOutput,
   bool bAppend = false) throw();

ParametryParameters

strOutputstrOutput
określoną Odwołanie do buforu zawierającego dane tabeli do pobrania.[out] A reference to a buffer containing the table data to be retrieved. Dane są formatowane jako dane ciągu z nazwami tagów XML, które pasują do nazw kolumn magazynu danych.The data is formatted as string data with XML tag names that match the data store's column names.

bAppendbAppend
podczas Wartość logiczna określająca, czy dołączać ciąg na końcu danych wyjściowych.[in] A Boolean value specifying whether to append a string to the end of the output data.

Wartość zwracanaReturn Value

Jedna ze standardowych wartości HRESULT.One of the standard HRESULT values.

UwagiRemarks

Poniżej pokazano, jak dane wiersza są formatowane w formacie XML.The following shows how the row data is formatted in XML. DATA poniżej przedstawia dane wiersza.DATA below represents the row data. Użyj metody Move, aby przejść do żądanego wiersza.Use move methods to move to the desired row.

<row>

<column name>DATA</column name>

</row>

Zobacz teżSee also

OLE DB Szablony konsumentówOLE DB Consumer Templates
Dokumentacja szablonów klientów OLE DBOLE DB Consumer Templates Reference
Klasa CAccessorCAccessor Class
Klasa CDynamicAccessorCDynamicAccessor Class
Klasa CDynamicParameterAccessorCDynamicParameterAccessor Class
Klasa CDynamicStringAccessorCDynamicStringAccessor Class
Klasa CDynamicStringAccessorA —CDynamicStringAccessorA Class
Klasa CDynamicStringAccessorW —CDynamicStringAccessorW Class
Klasa CManualAccessorCManualAccessor Class