存储过程DAL

时间:2011-12-29 07:49:47

标签: c# asp.net sql-server-2008 stored-procedures

如何为具有输出参数的存储过程创建通用DAL层方法。

当存储过程具有输出参数时,您将无法将数据集或数据读取器中的结果检索为集合。请告诉我使用通用方法接受任何输入和输出参数以及从输出参数返回值的最佳方法。

4 个答案:

答案 0 :(得分:1)

此链接:http://www.4guysfromrolla.com/articles/070203-1.aspx包含所有信息从何处下载SqlHelper以及如何在项目中使用和实现..

哪个可以帮到你

答案 1 :(得分:1)

类似的东西:

public static void DalWrapper(int id, string str, out int resultid, out string resultstring)
{
  * call the SP passing id and str
  * assign resulting values to resultid and resultstring
}

根据需要out可以更改为ref

答案 2 :(得分:1)

您可以使用ExecuteNonQuery并获取参数的值

using (SqlConnection conn = new SqlConnection())    
{
    SqlCommand cmd = new SqlCommand("sp", conn);   cmd.CommandType = CommandType.StoredProcedure;

    cmd.Parameters.Add(new SqlParameter("@param", SqlDbType.Int, int.MaxValue, ParameterDirection.Output));

    conn.Open();
    cmd.ExecuteNonQuery();
    int id = cmd.Parameters["@param"].Value;

    conn.Close();    
 }

答案 3 :(得分:1)

几乎与此相同的帖子。看到这个: Get output parameter value in ADO.NET

这肯定会帮到你!