首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

SqlDataReader有没有必要写两个close?解决方法

2012-08-14 
SqlDataReader有没有必要写两个close?conn1 f new conn1()SqlDataReader da f.datareader(sql)da.Clo

SqlDataReader有没有必要写两个close?
conn1 f = new conn1();
SqlDataReader da = f.datareader(sql)

da.Close();
f.close();

datareader是自己写的一个conn1类里面的方法,里面也有一个close方法。有没有必要da.Close();

[解决办法]
SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
if(reader.Read())
{
}
reader.Dispose();
[解决办法]
按正常的 做法都是先关闭SqlDataReader 在关闭SqlConnection的
不过你不关闭SqlDataReader直接关闭SqlConnection也没有问题SqlDataReader也直接跟着就关了。
[解决办法]
经验总结
其实重要的是 把Connection关闭,因为连接是比较占用系统资源的
Reader 关不关闭影响不大,你把Connection.close时,如果没有把reader关闭,reader有可能还会占用一些资源.所以还是按规范reader.close(),然后再connection.close(),以后你想在connection.close之前再添加代码也行,容易扩展。

热点排行