如果我在一个Using中包装一个SQLConnection,我应该关闭它还是使用句柄来结束它?
using cn as new system.data.sqlclient.sqlconnection() cn.open '{do a bunch of other stuff with commands and datareaders here} cn.close 'Do I need this? end using
matt b.. 96
退出using块会对相关对象(cn
在您的示例中)调用.Dispose(),对于SqlConnection,它将关闭连接和任何打开的资源.
退出using块会对相关对象(cn
在您的示例中)调用.Dispose(),对于SqlConnection,它将关闭连接和任何打开的资源.
更准确地说,调用Dispose或Close会将底层物理连接标记为"未使用" - 但并不真正关闭它.因此,尚未物理关闭的"未使用"连接可用于合并.因此 - 调用Dispose将返回到连接池的连接.
根据MSDN,您不需要关闭声明.
"以下示例创建一个SqlConnection,打开它,显示它的一些属性.连接在using块的末尾自动关闭." - http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx