• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Exchange Server 的CDO对象集合二

发布: 2007-6-21 12:06 | 作者:   | 来源:   | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网

   
  四:存取结构描述属性
  
  ADO需要使用fields对象集合才能存取结构描述属性,而CDO提供一种更简单的方式,许多比较一般的结构描述属性都可经由CDO属性来存取。如:我们可以存取Person对象中的urn:schema:contacts:HomePhone结构描述属性,代码如下:

  
  prs.HomePhone=”555-555-0101”
  
  对结构描述属性而言并没有相等的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方法。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网