CSharp中存储过程的一般执行

时间:2014-08-04 14:27:24

标签: c# sql-server stored-procedures computer-science dapper

我正在创建一个通用库来执行存储过程。不同的存储过程可能有不同数量的输入参数。

返回类型始终是一个表。

使用ADO.NET或Dapper,我可以使用参数执行SP,但是如何使其通用以执行任何接受输入参数并返回表结果的SP。

由于

1 个答案:

答案 0 :(得分:3)

    public DataTable RunSP_ReturnDT(string procedureName, List<SqlParameter> parameters, string connectionString)
    {
        DataTable dtData = new DataTable();
        using (SqlConnection sqlConn = new SqlConnection(connectionString))
        {
            using (SqlCommand sqlCommand = new SqlCommand(procedureName, sqlConn))
            {
                sqlCommand.CommandType = CommandType.StoredProcedure;
                if (parameters != null)
                {
                    sqlCommand.Parameters.AddRange(parameters.ToArray());
                }
                using (SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand))
                {
                    sqlDataAdapter.Fill(dtData);
                }
            }
        }
        return dtData;
    }