用输入和输出参数调用SP的C#方法
问题描述:
我在写C#方法来调用带参数的SP。 它有输入参数,+我添加使用cmd.Parameters.AddWithValue
但我也需要输出参数及其值...我如何添加它后,我添加了所有输入,cmd.Parameters.AddWithValue
用输入和输出参数调用SP的C#方法
答
检查SqlParameterCollection.AddWithValue Method返回类型,它是SqlParameter
你可以设置它的Direction
作为ParameterDirection
var parameter = cmd.Parameters.AddWithValue(.....
parameter.Direction = ParameterDirection.Output;
答
一个我假设你使用ADO.NET?如果是这样,SqlParameter类具有属性“方向”。将方向设置为输出,并在查询执行后读取该参数的值。
事情是这样的:
SqlCommand cmd = new SqlCommand("MyStoredProcedure", cn);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter parm=new SqlParameter("@pkid",SqlDbType.Int);
parm.Value=1;
parm.Direction =ParameterDirection.Input ;
cmd.Parameters.Add(parm);
SqlParameter parm2=new SqlParameter("@ProductName",SqlDbType.VarChar);
parm2.Size=50;
parm2.Direction=ParameterDirection.Output; // This is important!
cmd.Parameters.Add(parm2);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
// Print the output value
Console.WriteLine(cmd.Parameters["@ProductName"].Value);
Console.ReadLine();