王朝网络
分享
 
 
 

ADO API 参考( ADO方法)之一

王朝other·作者佚名  2006-12-16
宽屏版  字体: |||超大  

创建可更新 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 Field 或 Parameter 对象

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 之后将自动启动新事务。

远程数据服务

BeginTrans、CommitTrans 和 RollbackTrans 方法在客户端 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),不使用网络。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有