字符串未返回所需的值

时间:2016-10-26 06:09:14

标签: c# sql-server

ALTER PROCEDURE WCaresCheckContri    
    @PERNR bigint,    
    @RValue nvarchar(max) output    
AS    
BEGIN    
    SET NOCOUNT ON;    

    IF EXISTS(SELECT * FROM WCARES_Check_Contri WHERE PERNR = @PERNR)    
    BEGIN
        SET @RValue = 'Y'   
    END
    ELSE
        SET @RValue = 'N'      

    RETURN @RValue 
END

C#代码:

strRet = (string)objCmd.Parameters["@RValue"].Value;        

这是我的存储过程。但是当我从C#代码执行它时,它总是返回null值。欢迎任何帮助

2 个答案:

答案 0 :(得分:2)

您是否将其定义为输出参数?

objCmd.Parameters["@RValue"].Direction = System.Data.ParameterDirection.Output;

请参阅msdn article

查看周围的呼叫代码会很有帮助。

尝试删除此行:

return @RValue

答案 1 :(得分:0)

SqlParameter parm = new SqlParameter("@RValue", SqlDbType.Text);
parm.Direction = ParameterDirection.Output;
objCmd.Parameters.Add(parm);