如果您具有带有Sqlaccess的C#函数,则必须关闭所有对象/句柄,还是退出该函数后会自动清除所有内容

例如:

void DoSqlStuff()
{
    SqlConnection sqlConn = new SqlConnection(...);
    SqlCommand cmd = new SqlCommand(...);
    SqlDataReader sqlData= null;

    sqlConn,Open();
    sqlData = cmd.ExecutReader();


    while(sqlData.Read())
    {
         ...
    }
}

关闭SqlConn和SqlData是可选的,建议的还是强制的?

谢谢。

最佳答案

完成后,应立即关闭SqlConnection对象。如果您不这样做,则连接将保持打开状态,并且将无法处理其他请求。

using语句对此很有用。它将为您在对象上调用Dispose():

using (SqlConnection cn = new SqlConnection(connectionString))
{
    SqlCommand cm = new SqlCommand(commandString, cn)
    cn.Open();
    cm.ExecuteNonQuery();
}

10-01 12:38