У меня есть часть кода, показанная ниже, где я открываю соединение и выполняю команду на нем. Должен ли я закрыть это соединение или как лучше всего написать этот фрагмент кода?Мне нужно закрыть соединение при использовании параметризованного соединения
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
if (con.State == ConnectionState.Closed)
{
con.Open();
}
string sql = "INSERT INTO RegisterUser(Name,LastName,email,Nationality,Country) VALUES (@param1,@param2,@param3,@param4,@param5)";
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.Add("@param1", SqlDbType.NVarChar, 200).Value = txtName.Text;
cmd.Parameters.Add("@param2", SqlDbType.NVarChar, 100).Value = txtLastName.Text;
cmd.Parameters.Add("@param3", SqlDbType.NVarChar, 50).Value = txtEmail.Text;
cmd.Parameters.Add("@param4", SqlDbType.NVarChar, 50).Value = ddCountry.SelectedItem.Value.ToString();
cmd.Parameters.Add("@param5", SqlDbType.NVarChar, 50).Value = txtCountryCode.Text;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
Будет ли вышеуказанный код не выпускать память в случае, если соединение необходимо закрыть?
да, или вы могли бы использовать, используя заявление - см [ссылка] (https://msdn.microsoft.com/en-us/ библиотека/dw70f090 (v = vs.110) .aspx) и [link] (http://stackoverflow.com/questions/4389506/ado-net-closing-connection-when-using-using-statement) – phooey
Итак, теперь 4 человека дают вам тот же самый ответ. Если вы получите 3 ответа и 1 комментарий в течение 2 минут с тем же самым ответом, возможно, вы вообще не искали, прежде чем задавать этот вопрос? –
Как в стороне, вы, вероятно, хотели сказать «параметризованный запрос», а не «параметризованное соединение». – stakx