如果是使用IDataCommand,那需要释放Conn
如果是使用IDataAdapter,据说是可以不用释放它的conn
不过,你确定不用的话,就自己释放好了

解决方案 »

  1.   

    如果你不想做,可以不用做
    GC会帮你做的,Connection在Dispose的时候会Colse
      

  2.   

    那么我是否需要自己写CONN.DISPOSE?
      

  3.   

    应当明确地关闭连接, GC 不是用来做这个的。不过,如果你使用的是 ExecuteReader(),并使用CommandBehavior.CloseConnection限定参数,可以不必理会连接关闭的问题,因为 CommandBehavior.CloseConnection 可以保证所有数据完全读到DataReader后,Connection自动关闭。另外,由于 SqlDataReader 并非 DataSet 那样离线数据集,在 SqlDataReader 完成使命以前,不能关闭 Connection.