【发布时间】:2017-05-13 20:28:07
【问题描述】:
我正在尝试通过 vbscript 执行以下 sql 查询
declare @approvalid int, @userId int
insert into [ApprovalMaster] ([Active], [DateCreated]) values('true',getdate())
set @approvalid =SCOPE_IDENTITY()
insert into [UserTable] ([Emailid], [password], [approvalid])
values('testmail.com','password', @approvalid)
Set @userid=SCOPE_IDENTITY()
Select @userid as [Userid]
set rsemail=server.CreateObject("Adodb.Recordset")
rsemail.open sqlstr,con
response.write rsemail("userid")
并得到以下错误
ADODB.Recordset 错误“800a0cc1”
在与请求的名称或序号对应的集合中找不到项目。
这些语句在 SQL Server management Studio 中运行良好 但是通过 vbscript 访问时出现错误
【问题讨论】:
-
检查 CASE 可能吗?
as [Userid]与rsemail("userid") -
您的 SQL 语句是否在 SSMS 中运行?
-
不要害怕在查询中添加一些格式和空格,以便于阅读。
-
尝试将
SET NOCOUNT ON添加到查询的开头,操作中的行数可能会计为结果集,因此在您的第一个结果集中“(1 行受影响) " 没有userid列。 -
亲爱的 Gareth,感谢您的解决方案,它有效,设置 nocount 是解决方案,感谢您的帮助
标签: sql-server vbscript