程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了是否需要手动关闭并处置SqlDataReader?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决是否需要手动关闭并处置SqlDataReader??

开发过程中遇到是否需要手动关闭并处置SqlDataReader?的问题如何解决?下面主要结合日常开发的经验,给出你关于是否需要手动关闭并处置SqlDataReader?的解决方法建议,希望对你解决是否需要手动关闭并处置SqlDataReader?有所启发或帮助;

尽量避免使用这样的读者:

sqlConnection connection = new sqlConnection("connection String");
sqlCommand cmd = new sqlCommand("SELECT * FROM Sometable", connection);
sqlDataReader reader = cmd.ExecuteReader();
connection.open();
if (reader != null)
{
      while (reader.Read())
      {
              //do something
      }
}
reader.Close(); // <- too easy to forget
reader.dispose(); // <- too easy to forget
connection.Close(); // <- too easy to forget

相反,将它们包装在using语句中:

using(sqlConnection connection = new sqlConnection("connection String"))
{

    connection.open();

    using(sqlCommand cmd = new sqlCommand("SELECT * FROM Sometable", connection))
    {
        using (sqlDataReader reader = cmd.ExecuteReader())
        {
            if (reader != null)
            {
                while (reader.Read())
                {
                    //do something
                }
            }
        } // reader closed and disposed up here

    } // command disposed here

} //connection closed and disposed here

using语句将确保正确处置对象和释放资源。

如果您忘记了,则将清理工作留给垃圾收集器,这可能需要一段时间。

解决方法

我在这里处理遗留代码,并且有许多实例SqlDataReader从未关闭或处置过。连接已关闭,但是我不确定是否需要手动管理阅读器。

这会导致性能下降吗?

大佬总结

以上是大佬教程为你收集整理的是否需要手动关闭并处置SqlDataReader?全部内容,希望文章能够帮你解决是否需要手动关闭并处置SqlDataReader?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。