Вам не нужно ничего устанавливать на ноль или ничего в .NET. Это автоматически обрабатывается сборщиком мусора .
Обязательно, чтобы вы вызывали Conn.Dispose () как в обработке ошибок, так и в том случае, если все идет по плану. Блок Try Catch finally отлично подходит для этого. Другой альтернативой является использование ключевого слова Using при объявлении вашего соединения, чтобы объект Connection был должным образом избавлен от всего, что происходит.
Не беспокойтесь о пуле ваших соединений. Если вы открываете новый каждый раз, когда вам нужно его использовать, это нормально. ADO.NET объединяет для вас соединения за кулисами. Если вы повторно используете один и тот же объект открытого соединения, производительность будет незначительной, но для простоты не беспокойтесь об этом.
Вы можете сделать то же самое с помощью следующего кода. Результат будет таким же. Будь то ошибки или нет, Conn
будет обработан правильно. Любая ошибка просачивается, как и раньше.
public void ExecuteNonQuery(SqlCommand Cmd)
{
Using (SqlConnection Conn = new SqlConnection(strConStr));
{
//========== Open Connection ==========//
Conn.Open();
//========== Execute Command ==========//
Cmd.Connection = Conn;
Cmd.CommandTimeout = 180;
Cmd.ExecuteNonQuery();
}
}
Как вы можете видеть, когда единственная обработка ошибок, которую вы хотите / нуждаетесь, состоит в том, чтобы убедиться, что ваши объекты подключения правильно утилизируются, синтаксис Using может привести в порядок.