CXMLAccessor, classe

Vous permet aux sources de données d'accès comme données de chaîne lorsque vous n'avez aucune connaissance du schéma du magasin de données (structure sous-jacente).

class CXMLAccessor : public CDynamicStringAccessorW

Membres

a8f7s7hh.collapse_all(fr-fr,VS.110).gifMéthodes

GetXMLColumnData

Récupère des informations sur les colonnes.

GetXMLRowData

Extrait tout le contenu d'une table par des lignes.

Notes

Toutefois, CXMLAccessor diffère d' CDynamicStringAccessorW car il convertit toutes les données accessibles le magasin de données au format XML (référencé) au format XML.Cela est particulièrement utile pour la sortie dans des pages Web XML-averties.Les noms de balises XML correspondent aux noms des colonnes du magasin de données mieux possible.

Utilisez les méthodes CDynamicAccessor pour récupérer des informations sur les colonnes.Vous utilisez ces informations sur les colonnes pour créer un accesseur de manière dynamique au moment de l'exécution.

Les informations sur les colonnes sont stockées dans une mémoire tampon qui est créée et managée par cette classe.Obtenez des informations sur la colonne à l'aide de GetXMLColumnData ou obtenir des données de la colonne par des lignes à l'aide de GetXMLRowData.

Exemple

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

Configuration requise

Header: atldbcli.h

Voir aussi

Référence

CAccessor, classe

CDynamicAccessor, classe

CDynamicParameterAccessor, classe

CDynamicStringAccessor, classe

CDynamicStringAccessorA, classe

CDynamicStringAccessorW, classe

CManualAccessor, classe

Concepts

Modèles du consommateur OLE DB (C++)

Référence des modèles du consommateur OLE DB