DataSpace 对(RDS)
RDS.DataSpace 对象创建客户端代理以自定义位于中间层的业务对象。
说明
远程数据服务需要使用业务对象代理以便客户端组件与位于中间层的业务对象进行通讯。代理便于对跨越进程或计算机边界的应用程序记录集数据进行打包、拆包和传输(调度)。
远程数据服务使用 RDS.DataSpace 对象的 CreateObject 方法创建业务对象代理。无论其相应的中间层业务对象的实例何时创建,业务对象代理均被动态创建。远程数据服务支持以下协议:HTTP、HTTPS(HTTP 安全套接字)、DCOM 以及进程内(客户端组件及业务对象驻留于同一台计算机上)。
RDS.DataSpace 对象的类 ID 为 BD96C556-65A3-11D0-983A-00C04FC29E36。
Error 对象
Error 对象包含与单个操作(涉及提供者)有关的数据访问错误的详细信息。
说明
任何涉及 ADO 对象的操作都会生成一个或多个提供者错误。每个错误出现时,一个或多个 Error 对象将被放到 Connection 对象的 Errors 集合中。当另一个 ADO 操作产生错误时,Errors 集合将被清空,并在其中放入新的 Error 对象集。
注意 每个 Error 对象都代表特定的提供者错误而不是 ADO 错误,ADO 错误被记载到运行时的例外处理机制中。例如,在 Microsoft Visual Basic 中,产生特定 ADO 的错误将触发 On Error 事件并出现在 Err 对象中。关于 ADO 错误的完整列表,请参阅 ADO 错误代码主题。
通过 Error 对象的属性可获得每个错误的详细信息,其中包括以下内容:
Description 属性,包含错误的文本。
Number 属性,包含错误常量的长整型整数值。
Source 属性,标识产生错误的对象。在向数据源发出请求之后,如果 Errors 集合中有多个 Error 对象,则将会用到该属性。
SQLState 和 NativeError 属性,提供来自 SQL 数据源的信息。
出现提供者错误时,Error 对象将被放在 Connection 对象的 Errors 集合中。ADO 支持由单个 ADO 操作返回多个错误,以便显示特定提供者的错误信息。要在错误处理程序中获得丰富的错误信息,可使用相应的语言或所在工作环境下的错误捕获功能,然后使用嵌套循环枚举出 Errors 集合的每个 Error 对象的属性。
Microsoft Visual Basic 及 VBScript 如果没有有效的 Connection 对象,则需要检索 Err 对象的错误信息。
与提供者一样,ADO 在进行可能引发新的提供者错误的调用前将清除 OLE Error Info 对象。但是,只有当提供者产生新的错误或 Clear 方法被调用时,才能清空并充填 Connection 对象的 Errors 集合。
某些属性和方法返回的警告以 Errors 集合中的 Error 对象的方式出现,但并不中止程序的执行。在调用 Recordset 对象的 Resync、UpdateBatch、或 CancelBatch 方法,或 Connection 对象的 Open 方法,或者在设置 Recordset 对象的 Filter 属性之前,可通过调用 Errors 集合的 Clear 方法。这样就可以读取 Errors 集合的 Count 属性,以测试返回的警告。
Field 对象
Field 对象代表使用普通数据类型的数据的列。
说明
Recordset 对象含有由 Field 对象组成的 Fields 集合。每个 Field 对象对应于 Recordset 中的一列。使用 Field 对象的 Value 属性可设置或返回当前记录的数据。取决于提供者具有的不同功能,Field 对象的某些集合、方法或属性有可能无效。
使用 Field 对象的集合、方法、和属性可进行如下操作:
使用 Name 属性可返回字段名。
使用 Value 属性可查看或更改字段中的数据。
使用 Type、Precision 和 NumericScale 属性可返回字段的基本特性。
使用 DefinedSize 属性可返回已声明的字段大小。
使用 ActualSize 属性可返回给定字段中数据的实际大小。
使用 Attributes 属性和 Properties 集合可决定对于给定字段哪些类型的功能受到支持。
使用 AppendChunk 和 GetChunk 方法可处理包含长二进制或长字符数据的字段值。
如果提供者支持批更新,可使用 OriginalValue 和 UnderlyingValue 属性在批更新期间解决字段值之间的差异。
在打开 Field 对象的 Recordset 前,所有元数据属性(Name、Type、DefinedSize, Precision 和 NumericScale)都是可用的。在此时设置这些属性将有助于动态构造其格式。