【发布时间】:2010-08-08 08:57:20
【问题描述】:
我有一个带有输出参数的存储过程。如何使用 C# 代码读取此值?
【问题讨论】:
-
请贴出你目前写的代码。
-
我赞成这个,因为这是一个有用的问题,但由于缺少“我试过这个”,我不能这样做。
标签: c#
我有一个带有输出参数的存储过程。如何使用 C# 代码读取此值?
【问题讨论】:
标签: 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();
}
【讨论】:
SqlConnection 和SqlCommand 放入using(....) { ... } 块中作为最佳做法