【发布时间】:2016-12-04 18:35:01
【问题描述】:
我有一段代码如下所示,我在其中打开连接并在其上执行命令。我是否必须关闭此连接或编写这段代码的最佳方法是什么?
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();
如果需要关闭连接,上面的代码会不会释放内存?
【问题讨论】:
-
所以现在有 4 个人给了你完全相同的答案。如果您在 2 分钟内得到 3 个答案和 1 条评论且答案完全相同,那可能是您在问这个问题之前根本没有搜索过?
-
顺便说一句,您可能想说“参数化查询”,而不是“参数化连接”。
标签: c# sql-server sqlconnection