代码之家  ›  专栏  ›  技术社区  ›  Darkmage

在c中关闭针对mysql数据库的线程#

  •  0
  • Darkmage  · 技术社区  · 15 年前

    像这样简单的开合够了吗?

    conn.Open();
    
    //querycode
    
    conn.Close():
    
    4 回复  |  直到 10 年前
        1
  •  3
  •   Justin Niessner    15 年前

    尝试使用:

    using(MySqlConnection conn = new MySqlConnection(connString))
    {
        conn.Open();
    } // conn is automatically closed and disposed at the end of the using block
    
        2
  •  0
  •   Community Dunja Lalic    7 年前

    这样做没关系,您还可以将连接对象包装到 using 像这样的块:

    using (var con = new MySqlConnection(/*connection string*/))
    {
        con.Open();
        //do stuff
        // con.Close(); //don't need this it will be closed automatically* 
    }
    

    (* see )

        3
  •  0
  •   Joel Coehoorn    15 年前

    你需要把这个物体放在一个盒子里 using

        4
  •  0
  •   csl    15 年前

    使用需要在以后清理的资源的类通常实现 可识别 界面这意味着它提供了一个名为Dispose()的函数,可用于释放资源。

    使用 声明:

    using ( SomeDisposableClass c = new SomeDisposableClass() ) {
    
        // ... your code here
    
    } // c.Dispose() automatically called here, freeing up resources
    

    如果该类编码正确,它应该释放Dispose()函数中的所有资源,例如数据库连接、打开的文件句柄等。

    这意味着MySQL可能会在Dispose()中断开与数据库的连接,因此您可能不需要显式调用c.Close()——但始终要检查文档以确保。