【发布时间】:2016-09-21 07:42:09
【问题描述】:
我正在使用某种方法体来调用存储过程,示例代码如下:
public void StoredProcedureThatIsBeingcalled(int variable_1, int variable_2, out DataSet ds)
{
using (SqlConnection con = new SqlConnection(DatabaseConnectionString))
{
ds = new DataSet("DsToGoOut");
using (SqlCommand cmd = new SqlCommand("StoredProcedureThatIsBeingcalled", DbConn.objConn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@variable_1", variable_1));
cmd.Parameters.Add(new SqlParameter("@variable_2", variable_2));
try
{
con.Open();
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
objDataAdapter.SelectCommand = cmd;
objDataAdapter.Fill(ds);
con.Close();
}
catch (Exception ex)
{
//sql_log_err
}
}
}
}
让我烦恼的是,对于我调用的每个不同的过程,上述大部分代码都在我的 cs 文件中一次又一次地重复。
显然我可以清除它并使用过程名称作为变量调用一个函数,但是我如何为它提供不同数量的参数(具有不同的数据类型 - int,string bool - 从来没有其他任何东西)我使用的不同程序?
我可以有几个不同数量的参数(0-10)的不同功能,但我觉得有更好的方法吗?
【问题讨论】: