大佬教程收集整理的这篇文章主要介绍了是否需要手动关闭并处置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,请注明来意。