Достаточно ли этого способа для выполнения DataSet? - PullRequest
1 голос
/ 14 мая 2011

Я запрашиваю одну из моих таблиц, используя хранимую процедуру

Вот пример метода, который у меня есть. Я хотел бы убедиться, что это наиболее подходящий способ, и в случае 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;

}

1 Ответ

2 голосов
/ 14 мая 2011

Ваш код в порядке. Будет использован пул соединений. Это предотвратит необходимость создания и последующего уничтожения нового соединения для каждого запроса.

Однако я настоятельно рекомендую переименовать 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...
...