Я просто смотрю на инструкцию using, я всегда знал, что она делает, но до сих пор не пробовал ее использовать, я придумал код ниже:
using (SqlCommand cmd =
new SqlCommand(reportDataSource,
new SqlConnection(Settings.Default.qlsdat_extensionsConnectionString)))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Year", SqlDbType.Char, 4).Value = year;
cmd.Parameters.Add("@startDate", SqlDbType.DateTime).Value = start;
cmd.Parameters.Add("@endDate", SqlDbType.DateTime).Value = end;
cmd.Connection.Open();
DataSet dset = new DataSet();
new SqlDataAdapter(cmd).Fill(dset);
this.gridDataSource.DataSource = dset.Tables[0];
}
Кажется, что это работает, но есть ли какая-то точка в этом, поскольку, насколько я могу судить, мне все равно нужно заключить это в блок catch try, чтобы поймать непредвиденные ошибки, например. sql-сервер. Я что-то пропустил?
Насколько я могу видеть в данный момент, это просто останавливает меня закрытием и удалением cmd, но будет больше строк кода из-за того, что уловка try все еще необходима.