日期:2014-05-18  浏览次数:20945 次

数据库连接关闭后会不会自动释放所用的数据适配器
例如这行代码:
if   (conn.State   !=   ConnectionState.Open)
                                {
                                        conn.Open();
                                }
                                SqlDataAdapter   da   =   new   SqlDataAdapter(strSql,   this.conn);
                                da.Fill(sqlDataSet);
                                da.Dispose();
                                conn.Close();

如果不写da.Dispose();
当执行完conn.Close()后da会不会自动释放掉??

------解决方案--------------------
MSDN上没有说会自动释放,只说释放“当前”对象。我的理解是:每一个对象必须分别释放,因为他们在别的对象中使用,只是被“引用”,而不会被所引用对象释放。

不知道概念对不对,大家一起批
------解决方案--------------------
我觉得会自动释放,但会不会立即...那就不知道了
------解决方案--------------------
好象是不会自动释放吧.那在刷新时是释放还是没有呢?或者多次刷新页面时问题就出来了.缓冲池满
------解决方案--------------------
关键看还有没有引用
------解决方案--------------------
如果没引用,垃圾回收就是干这事的