可重复使用的代码来检索数据

时间:2011-06-05 06:47:57

标签: asp.net database code-reuse

我找到了一个非常好的方法,只需通过指定存储过程名称从数据库中检索任何结果集。我认为代码是非常可重用的.code如下

using System.Data;
using System.Data.SqlClient;

private DataSet GetFreshData(string sprocName)
{
    using ( SqlConnection conn = new SqlConnection() )
    {
        using ( SqlDataAdapter da = new SqlDataAdapter() )
        {        
            da.SelectCommand = new SqlCommand();
            da.SelectCommand.CommandText = sprocName;
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            da.SelectCommand.Connection = conn;

            DataSet ds = new DataSet();

            try
            {
                da.SelectCommand.Connection.Open();
                da.Fill(ds);
                da.SelectCommand.Connection.Close();
            }
            catch
            {
                return null;
            }
            finally
            {
                // do other things...calling Close() or Dispose() 
                // for SqlConnection or SqlDataAdapter objects not necessary
                // as its taken care of in the nested "using" statements
            }

            return ds;
        }
    }
} 

我的问题是,当存储过程需要指定几个参数时,有人可以建议修改此方法

1 个答案:

答案 0 :(得分:3)

轻松! :)将SqlParameter[]作为函数的第二个参数。

然后确保da.SelectCommand.Parameters填充SqlParameter

中的SqlParameter[]个对象列表