zoukankan      html  css  js  c++  java
  • using(){},Close(),Dispose()的区别

    //用Close(),Dispose()方式关闭连接
    string connString = "Data Source=(local);Initial Catalog=Linq;Integrated Security=SSPI";
    SqlConnection conn = new SqlConnection(connString);
    conn.Open();
    conn.Close();
    conn.Dispose();
    
    //用using方式关闭连接
    string connString = "Data Source=(local);Initial Catalog=Linq;Integrated Security=SSPI";//用windows用户登录
    using (SqlConnection conn = new SqlConnection(connString))
    {
        conn.Open();
    }
    Close()以后还能打开;Dispose()相当于清除,之后就不能再打开了;
    用using(){}的方式:在出了作用域以后就会调用Dispose(),SqlConnection、FileStream等的Dispose()内部会先做判断,如果没有Close()则会先调用Close()再执行Dispose(),
    所以用using(){}相当于
    try
    {
      //do something.
    }
    finally
    {
      Close();
      Dispose()
    }
    这一点我们通过反编译SqlConnection类的Dispose()方法查看源代码也可以确定:

    
    
  • 相关阅读:
    bestcoder #66
    uva11093 Just Finish it up
    UVA 12627 Erratic Expansion
    uva714 Copying Books
    龟兔赛跑
    神、上帝以及老天爷
    不容易系列之(3)―― LELE的RPG难题
    C. Watto and Mechanism
    Phone List hdu1671
    B. Han Solo and Lazer Gun
  • 原文地址:https://www.cnblogs.com/yangyong-yy/p/5411904.html
Copyright © 2011-2022 走看看