SqlParameter parameterEmpName = new SqlParameter("@EmpName", SqlDbType.VarChar,50);
parameterReason.Direction = ParameterDirection.ReturnValue;
myCommand.Parameters.Add(parameterEmpName);
中的
parameterReason.Direction = ParameterDirection.ReturnValue;改为
parameterReason.Direction = ParameterDirection.Output;看看

解决方案 »

  1.   

    parameterReason.Direction = ParameterDirection.ReturnValue;改为
    parameterReason.Direction = ParameterDirection.Output;看看
    另外传递参数最好按顺序传递:
    先:@EmpName 
    后:@reason
    否则可能会有问题
      

  2.   

    SqlParameter parameterEmpName = new SqlParameter("@EmpName", SqlDbType.VarChar,50);
    parameterReason.Direction = ParameterDirection.ReturnValue;错了,你的@EmpName参数是输出参数不是返回值。
    parameterReason.Direction应该等于ParameterDirection.Output;
      

  3.   

    存储过程不能有返回值,函数才能有返回值
    你把返回值改成output型的吧
      

  4.   

    parameterReason.Direction改成ParameterDirection.Output也不行啊
      

  5.   

    ParameterDirection.Output:是存储过程中out返回值;
    ParameterDirection.ReturnValue:是存储过程中return的值。