指定当前记录所在的页。
设置和返回值
设置或返回从 1 到 Recordset 对象 (PageCount) 所含页数的长整型值,或者返回以下常量。
常量
说明
AdPosUnknown
Recordset 为空,当前位置未知,或者提供者不支持 AbsolutePage 属性。
AdPosBOF
当前记录指针位于 BOF(即 BOF 属性为 True)。
AdPosEOF
当前记录指针位于 EOF(即 EOF 属性为 True)。
说明
使用 AbsolutePage 属性可识别当前记录所在的页码。使用 PageSize 属性可将 Recordset 对象逻辑划分为一系列的页,每页的记录数等于 PageSize(最后页除外,该页记录数较少)。提供者必须支持该属性的相应功能才能使用该属性。
与 AbsolutePosition 属性一样,AbsolutePage 从 1 开始并在当前记录为 Recordset 中的第一个记录时等于 1。设置该属性可移动到特定页的第一个记录。从 PageCount 属性中可获得总页数。
AbsolutePosition 属性
指定 Recordset 对象当前记录的序号位置。
设置和返回值
设置或返回从 1 到 Recordset 对象 (PageCount) 所含页数的长整型值,或者返回以下常量。
常量
说明
AdPosUnknown
Recordset 为空,当前位置未知,或者提供者不支持 AbsolutePage 属性。
AdPosBOF
当前记录指针位于 BOF(即 BOF 属性为 True。)
adPosEOF
当前记录指针位于 EOF(即 EOF 属性为 True。)
说明
使用 AbsolutePosition 属性可根据其在 Recordset 中的序号位置移动到记录,或确定当前记录的序号位置。提供者必须支持该属性的相应功能才能使用该属性。
同 AbsolutePage 属性一样,AbsolutePosition 从 1 开始,并在当前记录为 Recordset 中的第一个记录时等于 1。从 RecordCount 属性可获得 Recordset 对象的总记录数。
设置 AbsolutePosition 属性时,即使该属性指向位于当前缓存中的记录,ADO 也将使用以指定的记录开始的新记录组重新加载缓存。CacheSize 属性决定该记录组的大小。
注意 不能将 AbsolutePosition 属性作为替代的记录编号使用。删除前面的记录时,给定记录的当前位置将发生改变。如果 Recordset 对象被重新查询或重新打开,则无法保证给定记录有相同的 AbsolutePosition。书签仍然是保持和返回给定位置的推荐方式,并且在所有类型的 Recordset 对象的定位时是唯一的方式。
ActiveCommand 属性
指示创建关联的 Recordset 对象的 Command 对象。
返回值
返回包含 Command 对象的变体型。默认为 Null 对象引用。
说明
ActiveCommand 属性为只读。
如果没有使用 Command 对象创建当前 Recordset,将返回 Null 对象引用。
如果您只有结果 Recordset 对象,则可使用该属性查找关联的 Command 对象。
ActiveConnection 属性
指示指定的 Command 或 Recordset 对象当前所属的 Connection 对象。
设置和返回值
设置或返回包含了定义连接或 Connection 对象的字符串。默认情况下为 Null 对象引用。
说明
使用 ActiveConnection 属性可确定在其上将执行指定 Command 对象或打开指定 Recordset 的 Connection 对象。
命令
对于 Command 对象,ActiveConnection 属性为读/写。
在将该属性设置为打开的 Connection 对象或有效连接字符串之前,试图调用 Command 对象的 Execute 方法将产生错误。
Microsoft Visual Basic 将 ActiveConnection 属性设置为 Nothing 可使 Command 对象与当前 Connection 脱离关联,并使提供者释放数据源上所有关联的资源。然后,可以使 Command 对象与相同的 Connection 对象或其他 Connection 对象关联。某些提供者允许将该属性设置从一个 Connection 更改到另一个 Connection,而不必首先将该属性设置为 Nothing。
如果 Command 对象的 Parameter 集合包含提供者提供的参数,那么假如将 ActiveConnection 属性设置为 Nothing 或设置为其他 Connection 对象,将清除集合。如果手工创建 Parameter 对象并使用这些参数填充 Command 对象的 Parameters 集合,则将 ActiveConnection 属性设置为 Nothing 或其他 Connection 对象不会影响 Parameters 集合。
关闭与 Command 对象相关联的 Connection 对象将把 ActiveConnection 属性设置为 Nothing。将该属性设置为已关闭的 Connection 对象将产生错误。
Recordset
对于打开的 Recordset 对象或其 Source 属性被设置为有效 Command 对象的 Recordset 对象,ActiveConnection 属性为只读。否则,该属性为读/写。
可以将该属性设置为有效的 Connection 对象,或设置为有效的连接字符串。这时,提供者可使用该定义创建新的 Connection 对象,并打开连接。另外,提供者可以将该属性设置为新的 Connection 对象,以便向您提供访问扩展错误信息的 Connection 对象或执行其他命令。
如果使用 Open 方法的 ActiveConnection 参数打开 Recordset 对象,ActiveConnection 属性将继承该参数的值。
如果将 Recordset 对象的 Source 属性设置为有效 Command 对象变量,Recordset 的 ActiveConnection 属性将继承 Command 对象的 ActiveConnection 属性的设置。
远程数据服务用法 在客户端 (ADOR) Recordset 对象上使用时,只能将该属性设置为连接字符串或(Microsoft Visual Basic 或 VBScript 中)Nothing
ActualSize 属性
指示字段的值的实际长度。
设置和返回值
返回长整型值。某些提供者允许设置该属性以便为 BLOB 数据预留空间,在此情况下默认值为 0。
说明
使用 ActualSize 属性可返回 Field 对象值的实际长度。对于所有字段,ActualSize 属性为只读。如果 ADO 无法确定 Field 对象值的实际长度,ActualSize 属性将返回 adUnknown。
如以下范例所示,ActualSize 和 DefinedSize 属性有所不同:adVarChar 声明类型且最大长度为 50 个字符的 Field 对象将返回为 50 的 DefinedSize 属性值,但是返回的 ActualSize 属性值是当前记录的字段中存储的数据的长度。
Attributes 属性
指示对象的一项或多项特性。
设置和返回值
设置或返回长整型值。
对于 Connection 对象,Attributes 属性为读/写,并且其值可能为以下任意一个或多个 XactAttributeEnum 值的和(默认为零)。
常量
说明
AdXactCommitRetaining
执行保留的提交,即通过自动调用 CommitTrans 启动新事务。并非所有提供者都支持该常量。
AdXactAbortRetaining
执行保留的中止,即通过自动调用 RollbackTrans 启动新事务。并非所有提供者都支持该常量。
对于 Parameter 对象,Attributes 属性为读/写,并且其值可能为以下任意一个或多个 ParameterAttributesEnum 值的和。
常量
说明
AdParamSigned
默认值。指示该参数接受带符号的值。
AdParamNullable
指示该参数接受 Null 值。
AdParamLong
指示该参数接受长二进制数据。
对于 Field 对象,Attributes 属性为只读,其值可能为以下任意一个或多个 FieldAttributeEnum 值的和。
常量
说明
adFldMayDefer
指示字段被延迟,即不从拥有整个记录的数据源检索字段值,仅在显式访问这些字段时才进行检索。
adFldUpdatable
指示可以写入该字段。
adFldUnknownUpdatable
指示提供者无法确定是否可以写入该字段。
adFldFixed
指示该字段包含定长数据。
adFldIsNullable
指示该字段接受 Null 值。
adFldMayBeNull
指示可以从该字段读取 Null 值。
adFldLong
指示该字段为长二进制字段。并指示可以使用 AppendChunk 和 GetChunk 方法。
adFldRowID
指示字段包含持久的行标识符,该标识符无法被写入并且除了对行进行标识(如记录号、唯一标识符等)外不存在有意义的值。
adFldRowVersion
指示该字段包含用来跟踪更新的某种时间或日期标记。
adFldCacheDeferred
指示提供者缓存了字段值,并已完成随后对缓存的读取。
对于 Property 对象,Attributes 属性为只读,并可能是以下任意一个或多个 PropertyAttributesEnum 值的和:
常量
说明
adPropNotSupported
指示提供者不支持该属性。
adPropRequired
指示数据源初始化之前用户必须指定该属性的值。
adPropOptional
指示数据源初始化之前用户不必为该属性指定值。
adPropRead
指示用户可以读取该属性。
adPropWrite
指示用户可以设置该属性。
说明
使用 Attributes 属性可设置或返回 Connection 对象、Paramete 对象、Field 对象或 Property 对象的特性。
设置多个属性时,可以将相应的常量相加。如果将属性值设置为包括不兼容常量的总和,那么将产生错误。
远程数据服务用法 该属性在客户端的 Connection 对象上无效。
||||||BOF、EOF 属性
BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。
EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。
返回值
BOF 和 EOF 属性返回布尔型值。
说明
使用 BOF 和 EOF 属性可确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。
如果当前记录位于第一个记录之前,BOF 属性将返回 True (-1),如果当前记录为第一个记录或位于其后则将返回 False (0)。
如果当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回 True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。
如果 BOF 或 EOF 属性为 True,则没有当前记录。
如果打开没有记录的 Recordset 对象,BOF 和 EOF 属性将设置为 True,而 Recordset 对象的 RecordCount 属性设置为零。打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而 BOF 和 EOF 属性为 False。
如果删除 Recordset 对象中保留的最后记录,BOF 和 EOF 属性将保持 False,直到重新安排当前记录。
以下表格说明不同 BOF 和 EOF 属性组合所允许的 Move 方法。
MoveFirst,
MoveLast
MovePrevious,
Move < 0
Move 0
MoveNext,
Move > 0
BOF=True,
EOF=False
允许
错误
错误
允许
BOF=False,
EOF=True
允许
允许
错误
错误
同时为 True
错误
错误
错误
错误
同时为 False
允许
允许
允许
允许
允许使用 Move 方法并不能保证该方法成功定位记录,只是意味着调用指定的 Move 方法不会产生错误。
下表说明当调用各种 Move 方法但未成功定位记录时 BOF 和 EOF 属性设置所发生的情况。
BOF
EOF
MoveFirst, MoveLast
设置为 True
设置为 True
Move 0
没有变化
没有变化
MovePrevious, Move < 0
设置为 True
没有变化
MoveNext, Move > 0
没有变化
设置为 True
Bookmark 属性
返回唯一标识 Recordset 对象中当前记录的书签,或者将 Recordset 对象的当前记录设置为由有效书签所标识的记录。
设置和返回值
设置或返回计算有效书签的变体型表达式。
说明
使用 Bookmark 属性可保存当前记录的位置并随时返回到该记录。书签只能在支持书签功能的 Recordset 对象中使用。
打开 Recordset 对象时,其每个记录都有唯一的书签。要保存当前记录的书签,请将 Bookmark 属性的值赋给一个变量。移动到其他记录后要快速返回到该记录,请将该 Recordset 对象的 Bookmark 属性设置为该变量的值。
用户可能无法查看书签的值,也同样无法对书签直接进行比较(指向同一记录的两个书签的值可能不同)。
如果使用 Clone 方法创建 Recordset 的一个副本,则原始的和复制的 Recordset 对象 Bookmark 属性设置相同并可以替换使用。但是,无法替换使用不同 Recordset 对象的书签,即使这些书签是通过同一数据源或命令创建的。
远程数据服务用法 在客户端 (ADOR) Recordset 对象上使用时,Bookmark 属性始终有效。
CacheSize 属性
指