【发布时间】:2014-04-17 17:24:34
【问题描述】:
我可以找到这个问题的每个部分,但它们不能一起工作。将 sql 字符串传递给 Recordset.Open 时,多个记录集可以正常工作,但是一旦升级到 ADODB.Command,Command.Execute 和 Recordset.Open 都不会从提供的命令返回超过第一个记录集。相反,如果不以某种方式依赖 Command,我将无法使用参数化查询。
以下是我的 SQL 代码:
declare @var int
select @var = column from table where othercolumn = ?
(other stuff with @var)
声明似乎算作一个记录集,所以我无法获得任何信息。我很犹豫是否将其放入存储过程中,因为它会导致扩散,但如果这是我将这样做的唯一方法。
【问题讨论】:
-
在您的 SQL 中使用
SET NOCOUNT ON;来停止强制关闭记录集的行计数。或者当使用Set rs = cmd.Execute()之类的东西时,使用Set rs = rs.NextRecordSet在多记录集查询中获取下一个记录集。
标签: sql asp-classic adodb