This reduces the complexity of ADO.NET using an Application Block. There is also an application block for easier error handling in the table of contents
i.e.
DataSet ds = SqlHelper.ExecuteDataset(
connectionString,
CommandType.StoredProcedure,
"getProductsByCategory",
new SqlParameter("@CategoryID", categoryID));