Применение использования к SqlDataReader - PullRequest
6 голосов
/ 23 декабря 2009

Я просто хочу кое-что проверить. Я полагаю, что если я применю команду using к SqlDataReader, то он закроет устройство чтения данных и избавится от него. Например:

Using sdr As SqlDataReader = cm.ExecuteReader()
   Dim someInt As Integer = sdr.GetInt32(0)
   'other details and actions
End Using

Будет закрывать sdr SqlDataReader после выхода из блока кода Using . (Я верю, что это будет, но просто хочу проверить.)

Ответы [ 2 ]

5 голосов
/ 23 декабря 2009

Да. Using вызывает IDisposable.Dispose, а на странице MSDN в SqlDataReader.Dispose говорится:

SqlDataReader.Dispose Метод

Освобождает ресурсы, используемые DbDataReader, и вызывает Close.

5 голосов
/ 23 декабря 2009

Да, считыватель будет закрыт при утилизации. Из SqlDataReader.Dispose документации :

Освобождает ресурсы, используемые DbDataReader и вызовы Close.

...