首页 > 解决方案 > 使用时如何确定是否需要在 MySqlConnection 中调用 Close()?

问题描述

使用 MySql.Data.MySqlClient;

带有“使用”的简单连接代码:

using (IDbConnection sql = new MySqlConnection(ConnectionString))
     {
           try
           {
                sql.Open();
                var x = sql.Execute("query...");
           }
            catch (Exception ex)
           {
                 Console.WriteLine(ex.Message);
           }
     }

“使用”调用 Dispose(),但如果 Dispose() 调用 Close()?

使用时如何确定是否需要在 MySqlConnection 中调用 Close()?

标签: c#disposeusingmysql-connectormysqlconnection

解决方案


没做什么。

Dispose将正确关闭连接。

从文档:

Dispose() - 释放 MySqlConnection 使用的所有资源

形成MySqlConnection.Dispose的源代码

void IDisposable.Dispose()
{
    if (State == ConnectionState.Open)
        Close();
}

推荐阅读