存储过程DAL

本文关键字:DAL 存储过程 | 更新日期: 2023-09-27 18:18:56

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

当存储过程具有输出参数时,您将无法将数据集或数据阅读器中的结果作为集合检索。请告诉我哪一个是最好的方式,有一个共同的方法来接受任何输入和输出参数,并从输出参数返回值。

存储过程DAL

此链接:https://web.archive.org/web/20211020111631/https://www.4guysfromrolla.com/articles/070203-1.aspx包含从哪里下载SqlHelper以及如何在您的项目中使用和实现的所有信息。

可能对你有帮助

像这样:

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

您可以使用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();    
 }