转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> 其他 >> 正文
Exchange开发中CDO对象的使用基础(1)         ★★★★

Exchange开发中CDO对象的使用基础(1)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2086 更新时间:2009/4/22 23:21:40
meone@domain.com

除了默认介面以外,大部分的类别至少使用一个以上的其他介面,这些预设介面也会被其他类别所使用。参照介面以后才能够存取其属性和方法,可以轻易的经由调用相关属性来实现。如;Idatasource介面经由Datasource被存取,代码如下;(VB)

dim dsrc as Idatasource

set dsrc = prs.datasource

有些介面没有用以参照的相关属性,这时因该分情况采取不同措施,如果使用VB,则先宣告一个对象变量作为适当的介面,然后通过将介面对象变量指向对象公开的介面,自动完成参照介面的动作,如CDOEXM的IMailRecipient介面

VB:dim fld as cdo.folder

Dim rcp as cdoexm.imailrecipient

Set rcp=fld

Vbscript,不能为变量预先设定数据类型,必须使用getinterface方法存取介面,几乎每个CDO对象都公开用以存取介面的GetInterface方法,范例如下:

Set rcp = fld.getinterface(“imailrecipient”)

四:存取结构描述属性

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方法。

十:使用其他对象开启CDO对象

可以使用datasource.openobject方法由其他记忆体中的对象打开CDO对象,而记忆体中的对象可以是其他CDO对象或是其他函数库的对象,比如ADO2.5

openobject方法的语法如下:

openobject(soure as Unknown,  InterfaceName as String)

Source:被要打开的对象所参照的已打开对象,例如一个ado record或一个已开启的电子邮件,通常是一个对象变量

InterfaceName:source所公开的介面名称字串,例如,假使source是电子邮件的bodypart对象,则InterfaceName就是BodyPart,这个参数区分大小写。

为什么会使用该方法:

当我们已经使用recordset对象来浏览WEB存储系统的时候,可能使用Connection对象执行SQL查询来筛选所需要的项目,有或是批次的建立新项目,但是可能需要使用CDO来设定对象指定的属性,如果要修改使用openobject方法开启的CDO对象,需要使用DataSource.savetoobject方法将变更储存回parent对象,储存时传递openobject方法相同的参数给savetoobject方法。

检查文件夹或项目是否存在:

使用ADO record的open方法,打开欲检查的URL,若成功打开,说明此URL已经有相同的资源,若不能打开,则说明资源或项目不存在

十一:使用C

上一页  [1] [2] [3]  下一页


[网页制作]网站(B/S开发中)cache应用  [网页制作]关于Web设计、开发中window对象的资料
[Web开发]关于Web设计、开发中window对象的资料  [Web开发]ASP.NET开发中,添加客户端代码的几种方法
[Web开发]ASP用JMail、CDO发送邮件  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台