Я использую ADO.NET (.NET 1.1) в устаревшем приложении. Я знаю, что DataAdapter.Fill () открывает и закрывает соединения, если соединение не было открыто вручную до того, как оно было передано в DataAdapter.
Мой вопрос: Он также закрывает соединение, если .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)