rjr*_*son 64 .net sql vb.net sql-server
如果我在一个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
Run Code Online (Sandbox Code Playgroud)
mat*_*t b 96
退出using块会对相关对象(cn
在您的示例中)调用.Dispose(),对于SqlConnection,它将关闭连接和任何打开的资源.
Dar*_*rov 31
更准确地说,调用Dispose或Close会将底层物理连接标记为"未使用" - 但并不真正关闭它.因此,尚未物理关闭的"未使用"连接可用于合并.因此 - 调用Dispose将返回到连接池的连接.
Hec*_*rea 12
根据MSDN,您不需要关闭声明.
"以下示例创建一个SqlConnection,打开它,显示它的一些属性.连接在using块的末尾自动关闭." - http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx