小编典典

C#-关闭Sql对象的最佳做法

sql

如果您具有带有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是可选的,建议的还是强制的?

谢谢。


阅读 301

收藏
2021-03-17

共1个答案

小编典典

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

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

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