.NET 4.x Предупреждение CA2000 с объектом OleDbConnection - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! При использовании анализа кода выскакивает порядка 70 предупреждений типа:
Предупреждение 24 CA2000 : Microsoft.Reliability : В методе 'login_form.bt_login_Click(Object, EventArgs)' объект 'cn' не уничтожается во всех возможных путях исключений. Следует вызвать метод System.IDisposable.Dispose для объекта 'cn' до того, как все ссылки на него будут находиться вне области действия.
Я пытался вызывать Dispoce для объектов подключения, команд и редеров перед каждым выходом из процедуры, т.е. exit sub/function. Понял что суть не в этом. полез в интернет и узнал о том что этого можно избежать используя конструкцию Using или try. По первой не нашёл достаточно материалов и не понял как мне её вообще туда вписать. Со второй много пренебрегал, ибо когда начал писать программу просто не знал о её существовании... но и она не помогает. Может не так использую?
Вообще это предупреждение давно заметил и старался везде заканчивать выходы из процедуры с dispoce, но не помогло... Теперь при использовании программы в неизвестный момент у пользователей возникает unexpected error при подключении к БД. И при её пропуске она продолжает возникать при каждой повторной попытке подключения в любой функции, пока программа не будет перезапущена. Решил, что проблема может быть именно в этом. Заранее благодарю за любую помощь по теме!

Решение задачи: «.NET 4.x Предупреждение CA2000 с объектом OleDbConnection»

textual
Листинг программы
Private Sub bt_login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_login.Click
    Try
        Using cn As New OleDb.OleDbConnection(cn_string)
            Dim cmd As New OleDb.OleDbCommand
            cn.Open()
            'тут дальше оперирование с подключением и БД
        End Using
    Catch ex As Exception
        MsgBox("Не удалось соединиться с базой данных", vbCritical)
    End Try
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы