Вы не первый человек, которого я видел, используя такой метод. Не. Это плохо. Просто создайте и уничтожьте объекты подключения, как и где они вам нужны. Избавьтесь от поля AConn
и метода checkConn
и сделайте так:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try
Using AConn As New MySqlConnection(ConnSTR)
Dim cmdCheck As New MySqlCommand("show databases;", AConn)
AConn.Open()
cmdCheck.ExecuteNonQuery()
End Using
Catch ex as Exception
MsgBox(ex.Message)
End Try
End Sub
Иногда бывает полезно использовать поля для хранения ссылок на объекты ADO.NET. Это не один из тех времен. Создание объектов ADO.NET по мере необходимости должно быть по умолчанию.
Объект соединения ADO.NET существует на высоком уровне, а фактическое соединение с базой данных существует на более низком уровне. Соединения ADO.NET специально предназначены для создания, когда они необходимы, открываются как можно позже и закрываются как можно раньше. ADO.NET управляет подключением к базе данных. Если у вас есть объект подключения ADO.NET, открытый в течение 10 минут без передачи данных по нему большую часть времени, вы делаете это неправильно.