如SqlConnection,在操作完释放资源时该怎么写?1.
Connection1.Close
Connection1 = Nothing2.
Connection1.Dispose
Connection1 = Nothing3.
Connection1.Close
Connection1.Dispose
Connection1 = Nothing写完.Dispose还需要写=Nothing么?

解决方案 »

  1.   

    Close关闭后 仍可继续使用
    Dispose()释放后对象已不存在
      

  2.   

    那么Dispose后就不用写=Nothing了?想要结束直接用.Dispose就可以了?
      

  3.   

    是否.Dispose等同于=Nothing或有什么差别?.Dispose之前是否需要.Close?
      

  4.   

    对于经常需要用到的连接用close(),这样下次用的话,如果该连接在连接池中空闲的话可以直接使用,不需要重新生成一个连接。提高性能。对于只用到一次的连接,可以Dispose();这样这个连接在连接池中就不存在了,可以节约连接池的资源。
      

  5.   

    "是否.Dispose等同于=Nothing或有什么差别?.Dispose之前是否需要.Close?".Dispose()不同于 = Nothing;
    .Dispose()将整个Connection对象都销毁了,这个Connection已经不复存在了,而 = Nothing并没有销毁Connection,可以再次使用这个Connection进行新的数据连接.Dispose()操作包含了.Close操作,所以可以直接.Dispose,一个对象都已经不存在了,自然连接也就关闭了
      

  6.   

    Dispose是对象 被 销毁了 
    而 close后 是 等待  垃圾处理器帮你 释放对象
      

  7.   

    dispose后,虽然销毁了 conn
    但时在oracle中他还是占用一个进程,就是释放不到,
    有人试过吗,
    system
    select * from v$session;