C# 垃圾回收 链接数据库 释放内动 案例

这里引用了sqlhelper类的案例

这里用的是析构函数  开调用 Dispose()方法来释放内存

public class DataBase

 {

      //私有变量,数据库连接

      protected SqlConnection Connection;

      protected string ConnectionString;

      public DataBase()

       {

            ConnectionString = "Data Source=(local);DataBase=**;User ID=sa;Password=**;";

       }

private void Open()    

    {          //判断数据库连接是否存在          

 if (Connection == null) 

           { 

             //不存在,新建并打开

                Connection = new SqlConnection(ConnectionString);

                                    Connection.Open(); 

           }

            else 

           {

              //存在,判断是否处于关闭状态

              if (Connection.State.Equals(ConnectionState.Closed))

                  Connection.Open();    //连接处于关闭状态,重新打开

            }

        }

        //公有方法,关闭数据库连接 

       public void Close()

        { 

           if (Connection.State.Equals(ConnectionState.Open)) 

           {

               Connection.Close();

    //连接处于打开状态,关闭连接

            }

        }  

      /// <summary> 

       /// 析构函数,释放非托管资源  

     /// </summary>

        ~DataBase() 

       {

            try

            { 

               if (Connection != null)

                    Connection.Close(); 

           } 

           catch{} 

           try

            {

                Dispose();

            }

            catch{}

        }

        //公有方法,释放资源

        public void Dispose()

        {

            if (Connection != null) 

       // 确保连接被关闭

            {

                 Connection.Dispose();

                 Connection = null; 

           } 

   }         
 

发布了224 篇原创文章 · 获赞 14 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/xulong5000/article/details/105075666