Classe CXMLAccessor

Consente alle origini dati access in formato stringa quando non si conosce lo schema dell'archivio dati ovvero la struttura sottostante.

class CXMLAccessor : public CDynamicStringAccessorW

Membri

a8f7s7hh.collapse_all(it-it,VS.110).gifMetodi

GetXMLColumnData

Recupera le informazioni di colonna.

GetXMLRowData

Recupera l'intero contenuto di una tabella dalle righe.

Note

Tuttavia, CXMLAccessor differisce da CDynamicStringAccessorW in quanto consente di convertire tutti i dati a cui si accede dall'archivio dati in formato XML con tag.Questo risulta particolarmente utile per l'output alle pagine Web XML-informate.I nomi dei tag XML corrisponderanno i nomi di colonna dell'archivio dati il più possibile.

Utilizzare i metodi di CDynamicAccessor per ottenere le informazioni di colonna.Tali informazioni di colonna vengono utilizzate per la creazione dinamica di una funzione di accesso in fase di esecuzione.

Le informazioni di colonna sono memorizzate in un buffer che viene creato e gestito da questa classe.Ottenere le informazioni sulle colonne utilizzando GetXMLColumnData o ottenere i dati della colonna dalle righe utilizzando GetXMLRowData.

Esempio

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

Requisiti

Header: atldbcli.h

Vedere anche

Riferimenti

Classe CAccessor

Classe CDynamicAccessor

Classe CDynamicParameterAccessor

Classe CDynamicStringAccessor

Classe CDynamicStringAccessorA

Classe CDynamicStringAccessorW

Classe CManualAccessor

Concetti

Modelli consumer OLE DB (C++)

Riferimento dei modelli consumer OLE DB