使用ADODB.Connection和MSSQL插入语句后返回值

使用ADODB.Connection和MSSQL插入语句后返回值,sql,sql-server,asp-classic,adodb,Sql,Sql Server,Asp Classic,Adodb,我在经典ASP中有一个SQL语句,如下所示(我在这里重写了这个示例) 我知道这些都不是最佳实践,但它已经编写好了,我现在无法及时修改代码,但我正在尝试获取存储过程发出的“id” 因此,我添加了最后一行: sql = sql & " select @id as newid" 希望能从唱片集中得到这个 这可能吗?我每次都会遇到以下错误: ADODB.Recordset error '800a0cc1' Item cannot be found in the collection cor

我在经典ASP中有一个SQL语句,如下所示(我在这里重写了这个示例)

我知道这些都不是最佳实践,但它已经编写好了,我现在无法及时修改代码,但我正在尝试获取存储过程发出的“id”

因此,我添加了最后一行:

sql = sql & " select @id as newid"
希望能从唱片集中得到这个

这可能吗?我每次都会遇到以下错误:

ADODB.Recordset error '800a0cc1' 

Item cannot be found in the collection corresponding to the requested name or ordinal. 

在SQL中运行此命令将返回一个名为“newinc”的列,其中包含一个值。从SQL的角度来看,这应该是可行的。

好的,我刚刚通过使用SET NOCOUNT ON解决了这个问题-看起来虽然它正在执行,但实际上在幕后返回了多个输出

这一天通常有2到3个问题。经典的ADO以将行数信息返回为记录集而臭名昭著,这就是为什么人们通常使用SETNOCOUNT的原因。另一种方法是在代码中调用NextRecordset方法来跳过噪波,直到获得SELECT的结果。
ADODB.Recordset error '800a0cc1' 

Item cannot be found in the collection corresponding to the requested name or ordinal.