我有一个需要验证的存储过程的返回码。我无法更改proc,因为它是供应商包的一部分。无法将其更改为输出参数。我不太关心在c#中捕获返回代码的参数。这是我尝试做的一个例子: 过程:
create proc tester
@parm nvarchar(3)
as
if @parm = 'Yes'
return 1
else
return -1
go
C#示例代码:
SqlConnection sqlMon = new SqlConnection("Whatever");
sqlMon.Open();
SqlCommand sqlcomm = new SqlCommand("tester", sqlMon);
SqlDataReader sqlR;
sqlcomm.CommandType = CommandType.StoredProcedure;
sqlcomm.Parameters.Add(new SqlParameter("@parm", "Yes"));
sqlR = sqlcomm.ExecuteReader();
sqlMon.Close();
我能弄清楚的是我现在如何获得返回码。您可以提供的任何帮助表示赞赏。谢谢。
答案 0 :(得分:2)
您可以添加新参数,如下所示。
SqlParameter ret = sqlcomm.Parameters.Add("@R", SqlDbType.Int);
ret.Direction = ParameterDirection.ReturnValue;
string returnvalue = (string)sqlcomm.Parameters["@R"].Value;
答案 1 :(得分:0)
ExecuteReader()
返回SqlDataReader
:
SqlDataReader dr = sqlComm.ExecuteReader();
然后,您可以使用SqlDataReader
将数据绑定到控件或其他任何您想要执行的操作。
https://msdn.microsoft.com/en-us/library/9kcbe65k(v=vs.110).aspx
以下是如何将DataReader
绑定到GridView
: