如何使用DataContext.ExecuteCommand并获取执行的存储过程返回值?
在ac #project中,我调用存储过程如下:
System.Data.Linq.DataContext dataContext = MembershipContext.GetContext(connectionString); int returnValue = dataContext.ExecuteCommand("EXEC usp_SomeProcedure {0}, {1}, {2}", param1, param2, param3);
但是,ExecuteCommand返回受影响的行数,而不是我的存储过程返回值。 获得这个价值的最简单方法是什么? 我需要这个,因为SP在成功时返回0,如果发生错误则返回正的int值。
现在,存储过程使用RETURN输出其返回值。 但是,我可以为SELECT更改此选项,或者如果需要,我也可以使用输出参数。
我相信您需要将CommandType设置为CommandType.StoredProcedure,以便从存储的proc获取返回值。 请参阅此处接受的答案: 从ADO.NET中的存储过程获取返回值
如果您不需要Linq2Sql映射function,请不要使用DataContext
来调用SP。 只需使用SqlCommand
作为down.with.the.bass显示 。
- 如何在MVC 3中将WebForms .ascx显示为局部视图
- 使用EF Code First的多对多关系
- 将局部视图加载到模态弹出窗口中
- MVC 3 – 如何实现服务层,我需要存储库吗?
- 如何创建像Html.BeginForm这样的Html Helper
- 确定ASP.NET MVC 3中的请求是否为PartialView或AJAX请求
- String.Format用于TextBoxFor上的货币
- UserPrincipal.GetGroups与UserPrincipal.GetAuthorizationGroups?
- ASP.NET MVC 3:具有inheritance/多态的DefaultModelBinder