社区
C#
帖子详情
有关SqlDataReader的close问题
wangchengh
2008-03-25 02:26:45
我现在所做的程序用到很多的SqlDataReader, 但我都没调用Close方法,但我在每次用完SqlDataReader都会手动调用SqlConnection.Close方法关闭连接,请问这样还会占用Sql 连接数吗,如果不占用的话那有没有必要每次都调用SqlDataReader.Close()
即每次都使用SqlDataReader.Close();SqlConnection.Close()
...全文
652
13
打赏
收藏
有关SqlDataReader的close问题
我现在所做的程序用到很多的SqlDataReader, 但我都没调用Close方法,但我在每次用完SqlDataReader都会手动调用SqlConnection.Close方法关闭连接,请问这样还会占用Sql 连接数吗,如果不占用的话那有没有必要每次都调用SqlDataReader.Close() 即每次都使用SqlDataReader.Close();SqlConnection.Close()
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangchengh
2008-03-26
打赏
举报
回复
-----Showbo------
SqlDataReader.Close();关闭比较好,你关闭了连接当需要时又打开,浪费时间
---------------------------------------------------------------------
Showbo你这种方法最好别用,如果做网站的话,假设你为每个用户都开一个单独的连接,不关闭,直到用户退出时再关闭的话,那你的网站的连接限制就受到了sql 连接数的制约,而sql server的可用连接数明显比 web server的http连接数要小很多,这样的一旦达到sql连接上线其他所有的用户都全部都连不上你的网站了,所以用数据库连接的话应该是遵循最晚打开,最早关闭的原则。
wangchengh
2008-03-26
打赏
举报
回复
谢谢各位。
lovehongyun
2008-03-25
打赏
举报
回复
养成好的习惯..用完了就把它关了.
lovehongyun
2008-03-25
打赏
举报
回复
datareader也要关..
iamwei20071126
2008-03-25
打赏
举报
回复
其实对在C#中对于数据库操作最好能够建立一个单独的封装类,这样每次在对数据库进行操作时直接调用这个类就行了,可以在里面加上对于sqlconnection和sqldatareader状态的判断,这样也可以省去不少麻烦
斯洛文尼亚旅游
2008-03-25
打赏
举报
回复
SqlDataReader.Close();关闭比较好,你关闭了连接当需要时又打开,浪费时间
fuda_1985
2008-03-25
打赏
举报
回复
那是肯定的了啊。
打个比方吧:有一个水龙头,使用规则是当水不关闭,水就在不停的浪费,我觉得这东西差不多,你把Connection open了,不关浪费资源,还有,如果水龙头没关,假设你又不知道他没关,你再想用的时候,是不是就打不开了呢。
sbqcel
2008-03-25
打赏
举报
回复
SqlDataReader 是一种只进的流的形式返回SQL SERVER里的行数据.这个当然是基于应用程序对SQL SERVER保持连接的情况下.
如果应用程序对SQL SERVER的连接断开了,SqlDataReader自然也就不可用了.
调用 SqlDataReader.Dispose() 方法才会释放所占的资源.
我认为楼主应该先去看看MSDN上的基础说明.
wangchengh
2008-03-25
打赏
举报
回复
刚才自己又做了一下测试,发现只要关闭相关联的SqlConnection, SqlDataReader回自动关闭。
各位自己也可以做一下,我主要用SqlDataReader.IsClosed的方法查看的,如果你调用SqlConnection.Close();后,SqlDataReader.IsClosed会自动变为true;
wangchengh
2008-03-25
打赏
举报
回复
是不是如果调用了SqlConnection.Close();连接就关闭了,SqlDataReader.Close();只不过是释放内存,另GC会不会自动释放SqlDataReader的内存资源(不是连接资源,因为连接资源已经通过SqlConnection.Close()释放了)
justseven
2008-03-25
打赏
举报
回复
SqlDataReader最好在使用完毕后关闭!!
jinmiwa
2008-03-25
打赏
举报
回复
用完SqlDataReader后要记得关闭,要不会出错的!!
sbqcel
2008-03-25
打赏
举报
回复
调用 SqlConnection.Close() 方法后对数据库的连接就会关闭.
最好还是每次都 SqlDataReader.Close();SqlConnection.Close();
SqlDataReader
SqlDataReader
是.NET Framework中用于从SQL Server数据库读取数据流的高效、只进的数据访问接口。它是ADO.NET框架的一部分,提供了从数据库检索数据的方式,允许程序员逐行读取结果集,而无需一次性加载整个结果集到...
使用
SqlDataReader
读取数据示例
- **异常处理**:在实际开发中,应当始终包含适当的错误处理逻辑,如上述代码中的`try-catch`块,以确保程序在遇到数据库
问题
时能够优雅地处理。 - **安全性**:当构建SQL查询时,应避免使用硬编码的参数,而应使用...
SqlDataReader
的用法.txt
###
SqlDataReader
的用法
SqlDataReader
是.NET Framework中用于读取来自数据库的数据的一种方式,它是一种前向只读、只进的数据流。这意味着一旦你开始读取数据后,就不能回退到之前的数据行。通常在处理大量数据时...
SqlDataReader
的用法
reader.
Close
(); } ``` 使用 GetOrdinal() 方法
SqlDataReader
的 GetOrdinal() 方法可以查看序列号的值。例如: ```csharp int intClsName = rdr.GetOrdinal("ClsName"); int intSort = rdr.GetOrdinal("Sort...
用
SqlDataReader
快速读数据给DataGrid
在.NET开发中,将数据库查询结果展示到DataGrid控件是一种常见的...在实际应用中,根据具体需求,可能还需要处理异常、事务管理等
问题
。理解并熟练掌握
SqlDataReader
的使用,能有效提高数据处理的效率和程序的性能。
C#
111,125
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章