如何使用DataContext.ExecuteCommand并得到执行存储过程的返回值?(How t

2019-06-26 12:49发布

在C#项目中,我调用存储过程如下:

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或者如果需要的话我还可以使用输出参数。

Answer 1:

我相信你需要将CommandType到CommandType.StoredProcedure为了得到从存储过程返回值。 看到这里接受的答案: 从ADO.NET中的存储过程中获得的返回值



Answer 2:

不要使用DataContext调用的SP,如果你不需要LINQ2SQL映射功能。 只要使用SqlCommand作为down.with.the.bass节目 。



文章来源: How to use DataContext.ExecuteCommand and get the executed stored proc return value?