Aracılığıyla paylaş


CXMLAccessor Sınıfı

Veri deposunun şeması (temel alınan yapı) hakkında bilginiz olmadığında veri kaynaklarına dize verileri olarak erişmenizi sağlar.

Sözdizimi

class CXMLAccessor : public CDynamicStringAccessorW

Gereksinimler

Üst bilgi: atldbcli.h

Üyeler

Yöntemler

Veri Akışı Adı Açıklama
GetXMLColumnData Sütun bilgilerini alır.
GetXMLRowData Tablonun tüm içeriğini satırlara göre alır.

Açıklamalar

Ancak, CXMLAccessor veri deposundan erişilen tüm verileri XML biçimli (etiketli) veri olarak dönüştürmesinden CDynamicStringAccessorW farklıdır. Bu, özellikle XML kullanan Web sayfalarına çıkış için kullanışlıdır. XML etiketi adları, veri deposunun sütun adlarıyla mümkün olduğunca yakından eşleşecektir.

Sütun bilgilerini almak için yöntemleri kullanın CDynamicAccessor . Çalışma zamanında dinamik olarak bir erişimci oluşturmak için bu sütun bilgilerini kullanırsınız.

Sütun bilgileri, bu sınıf tarafından oluşturulan ve yönetilen bir arabellekte depolanır. GetXMLColumnData kullanarak sütun bilgilerini alın veya GetXMLRowData kullanarak satırlara göre sütun verilerini alın.

Örnek

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

Bir tablonun sütun türü bilgilerini sütuna göre XML biçimli dize verileri olarak alır.

Sözdizimi

HRESULT GetXMLColumnData(CSimpleStringW& strOutput) throw();

Parametreler

strOutput
[out] Alınacak sütun türü bilgilerini içeren bir dize arabelleği başvurusu. Dize, veri deposunun sütun adlarıyla eşleşen XML etiketi adlarıyla biçimlendirilir.

Dönüş Değeri

Standart HRESULT değerlerinden biri.

Açıklamalar

Aşağıda sütun türü bilgilerinin XML olarak nasıl biçimlendirildiğini gösterilmektedir. type sütunun veri türünü belirtir. Veri türlerinin erişilen veritabanının veri türlerini değil OLE DB veri türlerini temel alındığını unutmayın.

<columninfo>

<column type = I2/> ColumnName

</columninfo>

CXMLAccessor::GetXMLRowData

Bir tablonun içeriğinin tamamını satıra göre XML biçimli dize verileri olarak alır.

Sözdizimi

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

Parametreler

strOutput
[out] Alınacak tablo verilerini içeren bir arabelleğe başvuru. Veriler, veri deposunun sütun adlarıyla eşleşen XML etiket adlarıyla dize verileri olarak biçimlendirilir.

bAppend
[in] Çıkış verilerinin sonuna bir dize eklenip eklenmeyeceğini belirten boole değeri.

Dönüş Değeri

Standart HRESULT değerlerinden biri.

Açıklamalar

Aşağıda, satır verilerinin XML olarak nasıl biçimlendirildiğini gösterilmektedir. DATA aşağıdaki satır verilerini temsil eder. İstenen satıra gitmek için taşıma yöntemlerini kullanın.

<row>

<column name>DATA</column name>

</row>

Ayrıca bkz.

OLE DB Tüketici Şablonları
OLE DB Tüketici Şablonları Başvurusu
CAccessor Sınıfı
CDynamicAccessor Sınıfı
CDynamicParameterAccessor Sınıfı
CDynamicStringAccessor Sınıfı
CDynamicStringAccessorA Sınıfı
CDynamicStringAccessorW Sınıfı
CManualAccessor Sınıfı