【发布时间】:2017-03-21 13:11:52
【问题描述】:
这是我的存储过程...
alter PROCEDURE ReplyToEmailConfirmation
@uniqueKey varchar(36)
AS
BEGIN
Print 'Hello World!'
END
这是代码...
Set cmd = Server.CreateObject("ADODB.Command")
With cmd
.ActiveConnection = getConfigValue("ASPClassicConnectionString")
.CommandType = adCmdStoredProc
.CommandText = "[ReplyToEmailConfirmation]"
.Parameters.Append .CreateParameter("@uniqueKey", adVarChar, adParamInput, 36, "dc8d8bfd-ea3a-4ad9-9f2d-92831eb2655a")
End With
cmd.Execute
这是错误...
ADODB.Command 错误“800a0bb9”
参数类型错误、超出可接受范围或 互相冲突。
如何让它工作?目的是使用adGUID,但我想我会尝试adVarChar 来缩小错误范围。
【问题讨论】:
-
好像可以用
.Parameters.Refreshmsdn.microsoft.com/en-us/library/ms676516自动填写存储过程中的参数信息 -
@Slai 不要那样做,需要额外去服务器拉取参数信息,不推荐。
-
您的
CreateParameter()方法中缺少Size参数,请尝试.Parameters.Append .CreateParameter("@uniqueKey", adVarChar, adParamInput, 100)。还可以尝试通过设置.CommandType = adCmdStoredProc告诉 ADODB 您正在执行存储过程。
标签: stored-procedures vbscript asp-classic adodb