我正在创建一个通用库来执行存储过程。不同的存储过程可能有不同数量的输入参数。
返回类型始终是一个表。
使用ADO.NET或Dapper,我可以使用参数执行SP,但是如何使其通用以执行任何接受输入参数并返回表结果的SP。
由于
答案 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;
}