转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
ADO API 参考( ADO方法)之一         ★★★★

ADO API 参考( ADO方法)之一

作者:闵涛 文章来源:闵涛的学习笔记 点击数:713 更新时间:2009/4/23 10:48:51

AddNew 方法

创建可更新 Recordset 对象的新记录。

语法

recordset.AddNew FieldList, Values

参数

FieldList   可选。新记录中字段的单个名称、一组名称或序号位置。

Values   可选。新记录中字段的单个或一组值。如果 Fields 是数组,那么 Values 也必须是有相同成员数的数组,否则将发生错误。字段名称的次序必须与每个数组中的字段值的次序相匹配。

说明

使用 AddNew 方法创建和初始化新记录。通过 adAddNew 使用 Supports 方法可验证是否能够将记录添加到当前的 Recordset 对象。

在调用 AddNew 方法后,新记录将成为当前记录,并在调用 Update 方法后继续保持为当前记录。如果 Recordset 对象不支持书签,当移动到其他记录时将无法对新记录进行访问。是否需要调用 Requery 方法访问新记录则取决于所使用的游标类型。

如果在编辑当前记录或添加新记录时调用 AddNew,ADO 将调用 Update 方法保存任何更改并创建新记录。

AddNew 方法的行为取决于 Recordset 对象的更新模式以及是否传送 Fields Values 参数。

在立即更新模式(调用 Update 方法时提供者会立即将更改写入基本数据源)下,调用不带参数的 AddNew 方法可将 EditMode 属性设置为 adEditAdd。提供者将任何字段值的更改缓存在本地。调用 Update 方法可将新记录传递到数据库并将 EditMode 属性重置为 adEditNone。如果传送了 Fields Values 参数,ADO 则立即将新记录传递到数据库(无须调用 Update),且 EditMode 属性值没有改变 (adEditNone)。

在批更新模式(提供者缓存多个更改并只在调用 UpdateBatch 时将其写入基本数据源)下,调用不带参数的 AddNew 方法可将 EditMode 属性设置为 adEditAdd。提供者将任何字段值的更改缓存在本地。调用 Update 方法可将新的记录添加到当前记录集并将 EditMode 属性重置为 adEditNone,但在调用 UpdateBatch 方法之前提供者不将更改传递到基本数据库。如果传送 Fields Values 参数,ADO 则将新记录发送给提供者以便缓存;需要调用 UpdateBatch 方法将新记录传递到基本数据库。

如果 Unique Table 动态属性被设置,并且 Recordset 是对多个表执行 JOIN 操作的结果,那么,AddNew 方法只能将字段插入到由 Unique Table 属性所命名的表中。

Append 方法

将对象追加到集合中。如果集合是 Fields,可以先创建新的 Field 对象然后再将其追加到集合中。

语法

collection.Append object

fields.Append Name, Type, DefinedSize, Attrib

参数

collection   集合对象。

fields   Fields 集合。

object   对象变量,代表所要追加对象。

Name   字符串,新 Field 对象的名称,不得与 fields 中的任何其他对象同名。

Type   DataTypeEnum 类型,其默认值为 adEmpty。新字段的数据类型。

DefinedSize   可选,长整型,指示新字段的定义大小(以字符或字节为单位)。该参数的默认值源于 Type (默认的 Type adEmpty,默认的 DefinedSize 未指定)。

Attrib   可选,FieldAttributeEnum,其默认值是 adFldDefault。指定新字段的属性。如果该值未指定,字段将包含源于 Type 的属性。

参数

在集合上使用 Append 方法可将对象添加到该集合,此方法仅在 Command 对象的 Parameters 集合上有效。在将 Parameter 对象追加到 Parameters 集合中之前必须设置其 Type 属性。如果选定了变长数据类型,则必须将 Size 属性设置为大于零的值。

通过对参数作出说明,可以最大程度地减少对提供者的调用,进而在使用存储过程或参数化查询时提高性能,但必须了解与所要调用的存储过程或参数化查询相关联的参数属性。使用 CreateParameter 方法可创建具有适当属性设置的 Parameter 对象,而使用 Append 方法则可将它们添加到 Parameters 集合。这样可以不必调用参数信息的提供者而设置和返回参数值。如果写到不提供参数信息的提供者,则必须使用该方法手工填写 Parameters 集合以便能够完全使用参数。

字段

如果在调用 fields.Append 方法前您没有设置 CursorLocation 属性,当使用 Open 方法打开 Recordset 时,CursorLocation 将被自动设置为 adUseClient

对打开的 Recordset 或已设置 ActiveConnection 属性的 Recordset,调用其 fields.Append 方法将引发运行时错误。只能将字段追加到没有打开并且尚未连接到数据源的 Recordset。一般地,通过 CreateRecordset 方法或通过将新 Recordset 对象显式赋给对象变量所创建的都是新 Recordset 对象。

AppendChunk 方法

将数据追加到大型文本、二进制数据 Field 或 Parameter 对象。

语法

object.AppendChunk Data

参数

object   FieldParameter 对象

Data   变体型,包含追加到对象中的数据。

说明

使用 Field Parameter 对象的 AppendChunk 方法可将长二进制或字符数据填写到对象中。在系统内存有限的情况下,可以使用 AppendChunk 方法对长整型值进行部分而非全部的操作。

字段

如果 Field 对象 Attributes 属性中的 adFldLong 位被设置为真,则可以对该字段使用 AppendChunk 方法。

Field 对象上的第一个 AppendChunk 调用将数据写入字段,覆盖任何现有的数据,随后的 AppendChunk 调用则添加到现有数据。如果将数据追加到一个字段,然后设置或读取当前记录中另一个字段的值,ADO 则认为已将数据追加到第一个字段。如果在第一个字段上再次调用 AppendChunk 方法,那么 ADO 将调用解释为新的 AppendChunk 操作并覆盖现有数据。访问其他 Recordset 对象(并非第一个 Recordset 对象的复制品)中的字段将不会破坏 AppendChunk 操作。

调用 Field 对象的 AppendChunk 时如果没有当前记录,将发生错误。

参数

如果 Parameter 对象 Attributes 属性中的 adFldLong 位被设置为真,则可以对该参数使用 AppendChunk 方法。

Parameter 对象上的第一个 AppendChunk 调用将数据写入参数,覆盖任何现有数据,随后 Parameter 对象上的 AppendChunk 调用可添加到现有的参数数据中。传送空值的 AppendChunk 调用则放弃所有的参数数据。

BeginTrans、CommitTrans 和 RollbackTrans 方法

这些事务方法按如下方式管理 Connection 对象中的事务进程:

  • BeginTrans - 开始新事务。

  • CommitTrans - 保存任何更改并结束当前事务。它也可能启动新事务。

  • RollbackTrans - 取消当前事务中所作的任何更改并结束事务。它也可能启动新事务。

语法

level = object.BeginTrans()

object.BeginTrans

object.CommitTrans

object.RollbackTrans

返回值

BeginTrans 可以作为函数调用,用于返回指示事务嵌套层次的长整型变量。

参数

object   Connection 对象。

Connection

如果希望以独立单元保存或取消对源数据所做的一系列更改,请使用这些具有 Connection 对象的方法。例如在货币转帐时,必须从帐户中减去某个数额并将其对等数额添加到另一个帐户。无论其中的哪个更新失败,都将导致帐户收支不平衡。在打开的事务中进行这些更改可确保只能选择进行全部更改或不作任何更改。

注意   并非所有提供者都支持事务。需验证提供者定义的属性“Transaction DDL”是否出现在 Connection 对象的 Properties 集合中,如果在则表示提供者支持事务。如果提供者不支持事务,调用其中的某个方法将返回错误。

一旦调用了 BeginTrans 方法,在调用 CommitTrans RollbackTrans 结束事务之前,提供者将不再立即提交所作的任何更改。

对于支持嵌套事务的提供者来说,调用已打开事务中的 BeginTrans 方法将开始新的嵌套事务。返回值将指示嵌套层次:返回值为 1 表示已打开顶层事务(即事务不被另一个事务所嵌套),返回值为 2 表示已打开第二层事务(嵌套在顶层事务中的事务),依次类推。调用 CommitTrans RollbackTrans 只影响最新打开的事务;在处理任何更高层事务之前必须关闭或回卷当前事务。

调用 CommitTrans 方法将保存连接上打开的事务中所做的更改并结束事务。调用 RollbackTrans 方法还原打开事务中所做的更改并结束事务。在未打开事务时调用其中任何一种方法都将引发错误。

取决于 Connection 对象的 Attributes 属性,调用 CommitTrans RollbackTrans 方法都可以自动启动新事务。如果 Attributes 属性设置为 adXactCommitRetaining,提供者在 CommitTrans 调用后会自动启动新事务。如果 Attributes 属性设置为 adXactAbortRetaining,提供者在调用 RollbackTrans 之后将自动启动新事务。

远程数据服务

BeginTransCommitTransRollbackTrans 方法在客户端 Connection 对象上无效。

CreateObject 方法 (RDS)

创建目标业务对象的代理并返回指向它的指针。代理将数据打包并调度到服务器端的通讯模块,以便与业务对象通讯来通过 Internet 发送请求和数据。对于进程内的组件对象则不使用代理,而只提供指向对象的指针。

语法

远程数据服务支持下列协议:HTTP、HTTPS(通过安全套接字层的 HTTP)、DCOM 和进程内。

协议 语法 HTTP Set object = DataSpace.CreateObject("ProgId", "http://awebsrvr") HTTPS Set object = DataSpace.CreateObject("ProgId", "https://awebsrvr") DCOM Set object = DataSpace.CreateObject("ProgId", "machinename") 进程内 Set object = DataSpace.CreateObject("ProgId", "")

参数

Object   对象变量,用于计算在 ProgID 中指定类型的对象。

DataSpace   对象变量,代表用于创建新对象实例的 RDS.DataSpace 对象。

ProgID   字符串编程 ID, 用于标识实现应用程序业务规则的服务器端业务对象。

awebsrvr machinename   字符串,代表标识 Internet Information Server (IIS) Web 服务器的 URL,服务器业务对象实例在该服务器上创建。

说明

HTTP 协议是标准的 Web 协议;HTTPS 是安全 Web 协议。在运行无 HTTP 的局域网时可使用 DCOM 协议。进程内协议是本地的动态链接库 (DLL),不使用网络。


[Web开发]asp.net C#查询SQL数据并分页的可参考代码  [平面设计]可参考的自定义flash右键菜单源代码
[网络技术]ADSL宽带上网掉线的原因及可参考的解决办法  [电脑技术]可参考的扫描仪故障解决方案
[电脑技术]网页自动关闭的原因及可参考的解决办法下篇  [电脑技术]网页自动关闭的原因及可参考的解决办法上篇
[电脑技术]多种参考满足您重新安装IE浏览器的愿望  [电脑技术]购买笔记本电脑应参考的20个知识点
[VB.NET程序]Auto Complete combo Box(VB.NET Source Use API…  [VB.NET程序]在 VB 中使用 Unicode API
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

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

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉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……
    咸宁网络警察报警平台