Нет, удаление SqlCommand
не повлияет на соединение. Лучшим подходом было бы также обернуть SqlConnection
в блок использования:
using (SqlConnection conn = new SqlConnection(connstring))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(cmdstring, conn))
{
cmd.ExecuteNonQuery();
}
}
В противном случае Соединение не изменяется из-за того, что использовавшая его Команда была удалена (возможно, это то, что вы хотите?). Но имейте в виду, что соединение должно
быть уничтоженным, и, вероятно, более важным, чем команда.
РЕДАКТИРОВАТЬ:
Я только что проверил это:
SqlConnection conn = new SqlConnection(connstring);
conn.Open();
using (SqlCommand cmd = new SqlCommand("select field from table where fieldid = 1", conn))
{
Console.WriteLine(cmd.ExecuteScalar().ToString());
}
using (SqlCommand cmd = new SqlCommand("select field from table where fieldid = 2", conn))
{
Console.WriteLine(cmd.ExecuteScalar().ToString());
}
conn.Dispose();
Первая команда была удалена при выходе из блока использования. Соединение было все еще открыто и хорошо для второй команды.
Таким образом, удаление команды определенно не избавляет от используемого соединения.