我找到了一个非常好的方法,只需通过指定存储过程名称从数据库中检索任何结果集。我认为代码是非常可重用的.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;
}
}
}
我的问题是,当存储过程需要指定几个参数时,有人可以建议修改此方法
答案 0 :(得分:3)
轻松! :)将SqlParameter[]
作为函数的第二个参数。
然后确保da.SelectCommand.Parameters
填充SqlParameter
SqlParameter[]
个对象列表