我有这个存储过程:
ALTER PROCEDURE spCertificationType
@result nvarchar(15) output,
@mode int
AS
BEGIN
if @mode = 1
begin
exec spGeneratedID 2, @result output
print @result
end
END
但是当我试图执行它时,它有这个错误
形式参数“@mode”未声明为OUTPUT参数,而是在请求的输出中传递的实际参数 .
我试着将 @mode
设置为这样的输出:
ALTER PROCEDURE spCertificationType
@result nvarchar(15) output,
@mode int output
AS
BEGIN
if @mode = 1
begin
exec spGeneratedID 2, @result output
print @result
end
END
但它返回一个空值 .
对此有任何修复?提前致谢 .
2 回答
存储过程中的参数序列是首先使用输入参数然后使用输出参数: - 您可以看到此链接以获取有关存储过程的更多信息: -
http://www.codeproject.com/Articles/126898/Sql-Server-How-To-Write-a-Stored-Procedure-in-SQL
我以不同的方式修复了这个错误 .
我在SP中的参数后删除了OUTPUT语句 .
然后我得到了错误 .
然后我回到SQLDataSource配置数据源向导并再次执行这些步骤 . 我发现更改SP使向导删除了与之后具有OUTPUT的参数关联的设置 .