sqldatareader棘手问题!!!

zynjj 2003-10-21 01:25:31
SqlConnection cnn=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);//读取配置文件
SqlCommand cmd =new SqlCommand(sql,cnn);
rs=cmd.ExecuteReader();

用完后直接关闭cnn.close();
从来没关闭过SqlDataReader对象,没出现错误,想和大家探讨一下
...全文
56 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
michaelowenii 2003-10-21
  • 打赏
  • 举报
回复
读完了,之后他就关闭.
chinanewway 2003-10-21
  • 打赏
  • 举报
回复
我觉得SqlDataReader用起来很好哇,又不需要占用内存空间,速度也很快,像DropDownList和DataList一类的,最好就用SqlDataReader
brightheroes 2003-10-21
  • 打赏
  • 举报
回复
不建议用SQLDATAREADER
顾君彦 2003-10-21
  • 打赏
  • 举报
回复
一般来说是先关闭datareader,再关闭connect。这样好一些。
但是,楼主的代码,也不会出错。
连接是一定需要关闭的,因为。它占用了数据库的资源,数据库不会自动回收连接,必须由连接者主动断开。
而sqldatareader是一个.net中的对象,它具有内存自动回收的特性,所以,不一定需要关闭它,但是,若以以下还需要其它的数据库操作还需要使用到conn的话,那么,你必须关闭datareader
因为,在一个连接上,同一时刻,只能有一个打开状态的datareader.
xxdneu 2003-10-21
  • 打赏
  • 举报
回复
DataReader 效率低吗?
有人测试过吗?
文档上好像说datareader速度快呢?
storm97 2003-10-21
  • 打赏
  • 举报
回复
坚决不使用DataReader;
1.效率低
2.不能离线使用
3.使用不够灵活;
还是推荐使用DataAdapter+DataSet的模式,这才能最大的体现出ADO.NET带来的数据处理的新模式的特点。
bbwolfcool 2003-10-21
  • 打赏
  • 举报
回复
SqlConnection是断开读取数据的,读完数据就断开,你觉得你不写close他就一直连着么?
要是一直连着就好了,至少避免了数据并发问题

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧