Bonjour,

Je débute avec visual basic et j'essaye de coder une connexion à un serveur mysql local. J'ai un formulaire ou je renseigne le nom du serveur, le nom de l'utilisateur et son mot de passe et en clicquant sur un bouton test, je me connecte à Mysql et je liste les bases de données disponibles dans une liste déroulante. Mon code fonctionne mais je n'arrive pas à me débarrasser de l'avertissement suivant
Avertissement 1 CA2000 : Microsoft.Reliability : Dans la méthode 'Form1.Button1_Click(Object, EventArgs)', appelez System.IDisposable.Dispose sur l'objet 'New MySqlConnection()' avant que toutes les références s'y rapportant ne soient hors de portée.
Voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim ConnexionStr As String
        ConnexionStr = "Data Source=" & Me.TextBox1.Text & ";" _
                     & "User Id=" & Me.TextBox2.Text & ";" _
                     & "Password=" & Me.TextBox3.Text & ";" & "Connection Timeout=20"
        Dim cmd As New MySqlCommand
        Try
            cmd.Connection = New MySqlConnection() With {.ConnectionString = ConnexionStr}
            cmd.CommandText = "SHOW DATABASES"
            cmd.CommandType = CommandType.Text
            cmd.Connection.Open()
            Using dr As MySqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
                Me.ComboBox1.Items.Clear()
                Do While dr.Read
                    Me.ComboBox1.Items.Add(dr("Database"))
                Loop
                Me.ComboBox1.SelectedIndex = 0
            End Using
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            cmd.Connection.Close()
            If cmd IsNot Nothing Then cmd.Dispose()
        End Try
    End Sub
Il ne s'agit que d'un avertissement mais j'aimerais bien comprendre d'où vient le problème.

Merci d'avance pour vos retours.