Bagikan melalui


Kelas CXMLAccessor

Memungkinkan Anda mengakses sumber data sebagai data string ketika Anda tidak memiliki pengetahuan tentang skema penyimpanan data (struktur yang mendasar).

Sintaks

class CXMLAccessor : public CDynamicStringAccessorW

Persyaratan

Header: atldbcli.h

Anggota

Metode

Nama Deskripsi
GetXMLColumnData Mengambil informasi kolom.
GetXMLRowData Mengambil seluruh konten tabel menurut baris.

Keterangan

Namun, CXMLAccessor berbeda dari CDynamicStringAccessorW di mana ia mengonversi semua data yang diakses dari penyimpanan data sebagai data berformat XML (ditandai). Ini sangat berguna untuk output ke halaman Web yang sadar XML. Nama tag XML akan cocok dengan nama kolom penyimpanan data sedekat mungkin.

Gunakan CDynamicAccessor metode untuk mendapatkan informasi kolom. Anda menggunakan informasi kolom ini untuk membuat aksesor secara dinamis pada waktu proses.

Informasi kolom disimpan dalam buffer yang dibuat dan dikelola oleh kelas ini. Dapatkan informasi kolom menggunakan GetXMLColumnData atau dapatkan data kolom berdasarkan baris menggunakan GetXMLRowData.

Contoh

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

Mengambil informasi jenis kolom tabel sebagai data string berformat XML, menurut kolom.

Sintaks

HRESULT GetXMLColumnData(CSimpleStringW& strOutput) throw();

Parameter

strOutput
[out] Referensi ke buffer string yang berisi informasi jenis kolom yang akan diambil. String diformat dengan nama tag XML yang cocok dengan nama kolom penyimpanan data.

Tampilkan Nilai

Salah satu nilai HRESULT standar.

Keterangan

Berikut ini memperlihatkan bagaimana informasi jenis kolom diformat dalam XML. type menentukan jenis data kolom. Perhatikan bahwa jenis data didasarkan pada jenis data OLE DB, bukan jenis database yang diakses.

<columninfo>

<column type = I2/> ColumnName

</columninfo>

CXMLAccessor::GetXMLRowData

Mengambil seluruh konten tabel sebagai data string berformat XML, menurut baris.

Sintaks

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

Parameter

strOutput
[out] Referensi ke buffer yang berisi data tabel yang akan diambil. Data diformat sebagai data string dengan nama tag XML yang cocok dengan nama kolom penyimpanan data.

bAppend
[di] Nilai Boolean yang menentukan apakah akan menambahkan string ke akhir data output.

Tampilkan Nilai

Salah satu nilai HRESULT standar.

Keterangan

Berikut ini memperlihatkan bagaimana data baris diformat dalam XML. DATA di bawah ini mewakili data baris. Gunakan metode pemindahan untuk berpindah ke baris yang diinginkan.

<row>

<column name>DATA</column name>

</row>

Lihat juga

Templat Konsumen OLE DB
Referensi Templat Konsumen OLE DB
Kelas CAccessor
Kelas CDynamicAccessor
Kelas CDynamicParameterAccessor
Kelas CDynamicStringAccessor
Kelas CDynamicStringAccessorA
Kelas CDynamicStringAccessorW
Kelas CManualAccessor