【发布时间】:2011-01-29 04:39:23
【问题描述】:
我在旧版应用程序中使用 ADO.NET (.NET 1.1)。我知道如果在将连接提供给 DataAdapter 之前没有手动打开连接,DataAdapter.Fill() 会打开和关闭连接。
我的问题:如果 .Fill() 导致异常,它是否也会关闭连接?(由于无法访问 SQL Server 或其他原因)。它是否泄漏了一个连接,或者它是否有一个内置的 finally 子句来确保连接被关闭。
代码示例:
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim ds As New DataSet
cmd.Connection = New SqlConnection(strConnection)
cmd.CommandText = strSQL
da.SelectCommand = cmd
da.Fill(ds)
【问题讨论】:
-
在不完全了解的情况下,我会假设它确实如此。但是,您可以使用 Reflector (red-gate.com/products/reflector) 来查看实现,看看它是否最终实现。
标签: .net ado.net .net-1.1 sqlconnection resource-leak