zoukankan      html  css  js  c++  java
  • 数据库中的using语句,以及与try……catch……finally的关系

    每new一个对象,就会开辟一块资源。using(我们new的对象){……},“}”处自动释放占用的资源(即调用Dispose方法)。等效于fianlly中调用Dispose方法。

    Dispose内部会自动判断有无close,如果有,会自动先close,然后Dispose。

    所以using可以不用再写close、dispose。

    try……catch语句,catch可以抛出异常,让我们直接看到。

    所以想要看到异常,用try……catch。

    想要手动释放资源,用try……catch……finally,在finally中dispose。

    想要自动释放资源,用using。

    using(Sqlconnection con = new SqlConnection()) 

     {   

     //代码执行块,末尾处省去conn.Close()、conn.Dispose()

     }   

    close与dispose区别:

    conn.Open()
    conn.Close()
    conn.Open()//这是可以的
    -----------------------
    conn.Open()
    conn.Close()
    conn.Dispose()
    conn.Open() //出错
    可见dispose就是将conn毁掉,不能再用
  • 相关阅读:
    vim使用基础
    linux基本命令随笔
    linux学习笔记
    中台建设随笔
    数据密集型系统响应优化
    TCP断开连接的问题
    多渠道接入系统总结
    关于实践的认识
    博客说明
    python下载图片的问题思考
  • 原文地址:https://www.cnblogs.com/xixixing/p/11708305.html
Copyright © 2011-2022 走看看