如何从C#运行具有OUTPUT参数的存储过程?

我有一个带有输出参数的存储过程。 如何使用C#代码读取此值?

我假设你使用ADO.NET? 如果是这样,SqlParameter类具有属性“Direction”。 将方向设置为输出,并在执行查询后从该参数中读取值。

像这样的东西:

using (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(); }