1

我使用存储过程查询我的一张表

这是我拥有的方法的一个示例。我想确保这是最充分的方式,并且在 10000 个请求的情况下,它不会导致过热并正确关闭连接。

public DataSet GetDetailsByUserId(int userid)
{
    var arParms = new SqlParameter[1];
    arParms[0] = new SqlParameter("@UserID", SqlDbType.Int) { Value = userid };
    var dt = SqlHelper.ExecuteDataset(ConfigurationManager.AppSettings["ConnectionString"], CommandType.StoredProcedure, "StoredProcedureName", arParms);
                return dt.Tables.Count == 0 ? null : dt;

}
4

1 回答 1

2

你的代码很好。将使用连接池。这将防止必须为每个请求创建并处理掉一个全新的连接。

但是,我强烈建议将var dt =重命名为var DS,因为 ExecuteDataSet 返回一个 DataSet,而不是一个表。

var DS = SqlHelper.ExecuteDataset(ConfigurationManager.AppSettings["ConnectionString"], CommandType.StoredProcedure, "StoredProcedureName", arParms);

return DS.Tables.Count == 0 ? null : dt; // Dataset owns 1 or more tables...
于 2011-05-14T16:58:16.427 回答