SQL中的close和dispose有啥区别? [复制]
Posted
技术标签:
【中文标题】SQL中的close和dispose有啥区别? [复制]【英文标题】:Whats the difference between close and dispose in SQL? [duplicate]SQL中的close和dispose有什么区别? [复制] 【发布时间】:2016-02-13 22:47:54 【问题描述】:我通常使用下面的代码,应该是对的吗?
using (SqlConnection myConn = new SqlConnection(ConnectionString))
using (SqlCommand cmd = new SqlCommand(sqlString, myConn))
myConn.Open();
rows = cmd.ExecuteNonQuery();
// TO DO .
哪个更喜欢?请告诉我它们之间的区别。在我看来:当 Pooling 为 false 时, close 和 dispose 都会关闭连接。当 Pooling 为 true 时 close 不会关闭集合,但 dispose 会。
【问题讨论】:
“关闭收藏” ??你的意思是连接。如果启用池,Close
不会关闭物理连接,而只是告诉池该连接已准备好使用。无论如何,您应该更喜欢 using
声明所有实现 IDisposable
的东西。 connection.Dispose
将隐式调用 connection.Close
。
谢谢老哥,我明白了
【参考方案1】:
当您在 SqlConnection
上调用 Dispose()
时,在内部,它也会调用 Close()
。
不用担心 - 您可以手动使用 Close()
,或者让 Dispose()
为您完成。
【讨论】:
谢谢,我会用 sql profiler 测试一下。以上是关于SQL中的close和dispose有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Asp.net 连接字符串的 connection.close 和 connection.dispose 之间的区别? [复制]
请问JavaScript语言中的window.close()和window.parent.close()有啥区别?