四:存取結構描述屬性 ADO需要使用fields對象集合才能存取結構描述屬性
而CDO提供一種更簡單的方式
許多比較一般的結構描述屬性都可經由CDO屬性來存取
如:我們可以存取Person對象中的urn:schema:contacts:HomePhone結構描述屬性
代碼如下:
prs
HomePhone=
對結構描述屬性而言並沒有相等的CDO屬性
必須使用adofields對象集合
它具有相同的屬性與方法
要存取對象集合中的特定屬性
就要傳送完整並且合格的結構描述屬性名稱
若有相同的CDO相關常數(constant)也要一起傳遞
這些常數以cdo開頭且包含於CDO函數庫中
可以使用這些常數以省去傳送完整屬性名稱的麻煩
使用CDO常數來傳送時
其名稱並不需要加上引號
如下例存取urn:schemas:contacts:FTPSite的屬性:
prs
fields(cdoFtpSite)=
somearchive
edu
如果要存取的結構描述屬性沒有可用的CDO屬性或常數
就必須傳遞完整且合格的結構描述屬性名稱給Fields對象集合
下面的例子和上面的程序代碼效果相同:
prs
fields(urn:schemas:contacts:ftpsite)=
somearchive
edu
為了使程序更容易讀懂
當程序中使用的屬性不存在CDO屬性或沒有建立結構描述常數
我們應該為應用程序定義自己的常數
五:使用URL 與ADO一樣
CDO也是依賴於URL以及ExOLEDB provider來存取Web存儲系統中的資源
所要被存取的資源必須以完整的文件夾路徑與顯示名稱(displayname)建構正確的URL地址
如果文件夾路徑或項目的顯示名稱中有空格字符
那在URL中也必須保留名稱中的任何空格字符
CDO也支持相對的URL用法
六:了解並使用Idatasource介面 IDataSource介面是使用CDO存取WEB存儲系統中資源的關鍵
所有的CDO對象經由DataSource屬性公開IDataSource介面
DataSource屬性可以用來在WEB存儲系統中開啟資源
偵測與儲存資源的變更
以及建立新資源
IDataSource介面的屬性與方法
下面是IDataSource介面公開的屬性和方法
七:IDataSource介面的運作 使用CDO開啟一個資源時
並非動態的連線到WEB存儲系統
而是將資料由WEB存儲系統中復制一個副本到本機的CDO對象
所以實質上您會有兩份資料
一份再WEB存儲系統中
另一份再CDO對象中
使用CDO對象的屬性方法對資料所作的任何改變都是本機上的資料副本
而不是WEB存儲系統中的資料
直到使用IDataSource的儲存方法明確地指定要對資料作變更WEB存儲系統中的資料才會被變更
如不調用一個儲存方法
則變更的資料副本就會丟失
建立一個新的資源也是同樣的道理
八:使用CDO開啟一項資源 使用CDO對象中的DataSource
Open方法
它是以record
open方法為基礎的開啟資源的方法
CDO使用的open方法語法如下:
open ( source url as string [
activeconnection as object] [
mode as connectmodeenum指定record如何被開啟])默認以只讀方式打開
判斷資料來源是否在本機被修改過:IDataSource介面的datasource
isdirty屬性(boolean值)
可以使用該屬性判斷本機的CDO對象是否被變更
如果變更
則使用datasource
save方法保存變更
九:使用CDO建立新資源 先為新資源建立一個URL
再將新資源的相關信息存儲到該URL
datasource
saveto方法可以讓您指定所建立資源的URL
URL必須是資源的精確的實際位置
還必須包含資源的DAV:displayname
Datasource
saveto方法的語法:
Saveto(sourceurl as string [
activeconnevtion as object] [
mode as connectmodeenum] [
createoptions as recordcreateoptionsenum])
Mode
指定record如何被開啟
Createoptions
指定資源如何被建立
adcreateoverwrite將會覆蓋已經在URL上存在的相同名稱的資源項目
如果不設這個常數
則如果URL已經存在此資源的話
將會返回一個錯誤
Datasource
savetocontainer方法語法
該方法語法和saveto方法相同
兩者的區別:saveto方法是具體知名資源項目的URL和DAV:displayname
然後將資源項目存放到指定的URL
名稱為指定的DAV:displayname
而savetocontainer方法則是將資源存放到指定的URL
資源的DAV:displayname時exchange自動產生的一個名稱
該方法的用途:savetrocontainer方法在日程安排
建立約會時用得比較多
因為日程安排項目很多
時常有同名的約會名稱
我們可能會將前面已經建立的越會覆蓋掉
為了防止這樣的事情發生
我們應該采用savetocontainer方法
From:http://tw.wingwit.com/Article/os/fwq/201311/10216.html