Execute21 方法 (RDS)
执行请求并创建用于 ADO 2.1 的 ADO 记录集。
重要
从 Windows 8 和 Windows Server 2012 开始,RDS 服务器组件不再包含在 Windows 操作系统中(有关详细信息,请参阅 Windows 8 和 Windows Server 2012 兼容性指南)。 RDS 客户端组件将在将来的 Windows 版本中删除。 避免在新开发工作中使用此功能,并计划修改当前使用此功能的应用程序。 使用 RDS 的应用程序应迁移到 WCF 数据服务。
语法
object.Execute21(ConnectionString As String, HandlerString As String, QueryString As String, lMarshalOptions As Long, Properties, TableId, lExecuteOptions As Long, pParameters)
参数
ConnectionString
一个字符串,用于连接到 OLE DB 访问接口,其中将发送请求以供执行。 如果使用 HandlerString指定处理程序,则可以编辑或替换连接字符串。
HandlerString
该字符串标识要用于此执行的处理程序。 字符串包含两个部分。 第一部分包含要使用的处理程序的名称(ProgID)。 字符串的第二部分包含要传递给处理程序的参数。 如何解释参数字符串是特定于处理程序的。 这两个部分由字符串中逗号的第一个实例分隔(尽管参数字符串可以包含其他逗号)。 参数是可选的。
QueryString
连接字符串中标识的 OLE DB 提供程序支持的命令语言中的命令。 对于基于 SQL 的提供程序,它可能包含 Transact-SQL 命令语句,但对于非 SQL 提供程序(例如 MSDataShape),这可能不是 Transact-SQL 查询语句。
此外,如果正在使用处理程序(强烈建议使用处理程序),处理程序可以更改或替换此处指定的值。 例如,处理程序通常会将 queryString 替换为其 .ini 文件中的查询字符串。 默认情况下,使用 Msdfmap.ini 文件。
lMarshalOptions
用于在返回的行集/记录集上设置封送选项。
TableID
VT_EMPTY或VT_BSTR类型的变体。 如果此值的类型为 VT_EMPTY,则忽略该值。 如果它的类型为 VT_BSTR,则通过使用此处指定的值使用 adCmdTableDirect 创建记录集,并忽略 QueryString 参数。
lExecuteOptions
执行选项的位掩码:
1=ReadOnly 将使用 adLockReadOnly打开记录集。
2=NoBatch 将使用 adLockOptimistic打开记录集。
4=AllParamInfoSupplied 调用方保证在 pParameters中提供所有参数的参数信息。
8=GetInfo 查询的参数信息将从 OLE DB 访问接口获取,并在 pParameters 参数中返回。 不会执行查询,也不会返回记录集。
16=GetHiddenColumns 将使用 adLockBatchOptimistic 打开记录集,任何隐藏列都将包含在记录集中。
尽管 ReadOnly,但 NoBatch 和 GetHiddenColumns 都是互斥选项,但设置多个选项不是错误。 如果设置了多个选项,GetHiddenColumns 优先于所有其他选项,后跟 ReadOnly。 如果未指定任何选项,则默认情况下,使用 adLockBatchOptimistic 打开记录集,但记录集中不包含隐藏列。
pParameters
一个包含安全参数定义的数组的变体。 如果在 lExecuteOptions中指定了 GetInfo 选项,则此参数用于返回从 OLE DB 访问接口获取的参数定义。 否则,此参数可能为空。
言论
HandlerString 参数可能为 null。 在这种情况下发生的情况取决于 RDS 服务器的配置方式。 “MSDFMAP.handler”的处理程序字符串指示应使用Microsoft提供的处理程序(Msdfmap.dll)。 “MASDFMAP.handler,sample.ini” 的处理程序字符串指示应使用 Msdfmap.dll 处理程序,并将参数“sample.ini”传递给处理程序。 MSDFMAP.dll 将参数解释为使用 sample.ini 检查连接和查询字符串的方向。
注意
Execute21 方法是 Execute 方法 (RDS)的版本。 如果需要使用 Execute 方法与 ADO 2.1 通信,可以改为调用 Execute21 方法。 ADO 2.5 及更高版本中的 Execute 方法的功能是 ADO 2.1 中为相同方法提供的功能的超集。