我的存储过程的最后一行是:
RETURN (22);
我按如下方式调用我的存储过程:
var result = new ObjectParameter("result", typeof(double));
int success = context.MySP(code, Id, result);
从我的代码调用时,存储过程可以正常工作。
code
是一个字符串,Id
是Guid,result
是OUTPUT
参数,工作正常。
所以我知道正在达到RETURN (22);
语句(在查询分析器中运行也证实了这一点,当我在那里运行时返回值为22)。
我期待(在此示例中),success
将包含22,但始终包含-1。
将22
返回值转换为success
变量的最简单方法是什么?
由于 罗布
答案 0 :(得分:1)
您的存储过程应声明一个输出。假设它是@result
,您需要设置并返回它。
CREATE PROCEDURE MySP
/*
Input parameters here
*/
@result INT OUTPUT
AS
BEGIN
SET @result = 22
return @result
END
您的回复值应为result
。
var result = new ObjectParameter("result", typeof(double));
context.MySP(code, Id, result);
int success = result.Value;