CXMLAccessor 類別
可讓您存取資料來源以字串資料,當您在不知道資料存放區結構描述 (基礎結構)。
class CXMLAccessor : public CDynamicStringAccessorW
Members
方法
擷取的資料行資訊。 |
|
依資料列擷取資料表的全部內容。 |
備註
不過, CXMLAccessor與CDynamicStringAccessorW ,因為它會將轉換成 XML 格式 (標記) 資料的資料存放區存取的所有資料。這特別適用於輸出到 XML 感知的網頁。XML 標記名稱會盡可能接近地符合資料存放區的資料行名稱。
使用 CDynamicAccessor 方法取得資料行資訊。您可以在執行階段使用這些資料行資訊,動態地建立存取子。
資料行資訊是儲存在這個類別所建立和管理的暫存區中。取得資料行資訊所使用的 GetXMLColumnData 或資料行的資料,以取得資料列使用 GetXMLRowData。
範例
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();
}
需求
標頭: atldbcli.h