【发布时间】:2012-01-21 09:13:36
【问题描述】:
我正在使用 C# SQL Server 2008。
在 DataReader(ADO.Net) 中,可以一次获取一条记录,并且连接保持打开状态,直到获取所有记录。
困惑是,我们从存储过程中发送了完整的表。
那么,为什么当 sql server 发送完所有记录后连接仍然打开。我的意思是这背后的机制是什么。
【问题讨论】:
-
打开的连接不会影响返回或获取的记录,打开的连接或多或少会减少往返次数或每次都必须创建一个新的连接实例并 open() 它这样做时会出现性能问题..也许您可以发布一个示例,说明您必须更好地了解您的问题是什么.. DataReader 也是正向阅读,但如果您愿意,您还可以创建一个 RecordSet,填充对象, 并迭代 // 我个人更喜欢 datareader
-
当然,打开的连接会影响获取的记录。尝试中途关闭连接,看看调用
.Next()会得到什么!当谈到让它们打开多长时间时,这不是唯一的考虑因素,但这是一个考虑因素,也是询问者所问的问题。
标签: c# sql-server