【问题标题】:Close reader before closing connection在关闭连接之前关闭阅读器
【发布时间】:2010-03-25 21:07:11
【问题描述】:

你应该总是在关闭连接之前关闭 DataReader,还是只关闭连接就可以了?仅仅关闭连接是否会有效地关闭阅读器?

(这是针对 c#.net 3.5)

谢谢!

【问题讨论】:

    标签: c# .net datareader


    【解决方案1】:

    除了明确您的意图之外,还有来自 Microsoft 文档 (Retrieving Data Using a DataReader (ADO.NET)) 的内容:

    您应该始终在使用完毕后调用 Close 方法 DataReader 对象。

    【讨论】:

    • 根据我的经验,如果您关闭连接,而不是 DataReader,您可能会收到错误 从池中获取连接之前已过超时时间
    【解决方案2】:

    同时关闭 DataReader。

    我。如果它实现了 IDisposable ,或者有一个 .close() 方法或类似的构造,文档说明你在使用完这个实例后应该调用它 - 执行它。 不要依赖其他东西来为您处理它 - 除非文档明确说明它确实如此。对于 DataReader/DbConnection - 文档没有提到这样的事情。

    【讨论】:

      【解决方案3】:

      我更喜欢使用 c# using statment,它会为您调用 dispose()。这是一个不错的解释。

      Using Statment

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-20
        • 2017-12-23
        • 2019-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多