Я использую 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)