Salut à vous chers développeurs. En fait, je suis sur un projet VB 6.0-MySQL et je voudrais connecter la base de données mysql à l'application VB. J'ai déjà téléchargé et installé le connecteur "mysql-connector-odbc-5.1.13-win32". J'ai même ajouté le pilote "MySQL ODBC 5.1 Driver" aux sources de données utilisateurs dans le panneau de configuration et la connexion a réussi. En VB, j'ai écrit un module permettant d'effectuer la connexion de VB à MySQL et quand j'exécute ça marche bien. Voici d'ailleurs le code de ce module:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
 
 
Dim con As ADODB.Connection
 
Dim server As String
 
Dim database As String
 
Dim user As String
 
Dim pwd As String
 
Dim msg As Integer
 
Public Sub Connexion()
 
    Set con = New ADODB.Connection
 
    server = "localhost"
 
    database = "scolarite"
 
    user = "root"
 
    pwd = ""
 
    On Error GoTo erreur
 
    'con.CursorLocation = adUseServer
 
    con.Open "DRIVER={MySQL ODBC 5.1 Driver};SERVER=" & server & ";DATABASE=" & database & ";USER=" & user & ";PASSWORD=" & pwd
 
    msg = MsgBox("La connexion a réussi !", 0 + 64, "Connexion à la base de données")
 
    Exit Sub
 
erreur: msg = MsgBox("Erreur: " & Err.Number & vbLf & vbLf & Err.Description & vbLf & vbLf & "Impossible d'établir la connexion !", 0 + 16, "Connexion à la base de données")
 
End Sub
J'écris ensuite un module me permettant d'exécuter une requête SQL dont 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
27
28
29
30
31
32
33
34
35
36
37
38
39
 
 
Dim con As ADODB.Connection
 
Dim rs As ADODB.Recordset
 
Dim cmd As ADODB.Command
 
Dim password As String
 
Dim msg As Integer
 
Public Sub Insertion(requete As String)
 
    'Set con = New ADODB.Connection
 
    password = ""
 
    con.Open "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;DATABASE=scolarite;USER=root;PASSWORD=" & pwd & ";OPTION=3;"
 
    Set rs = New ADODB.Recordset
 
    Set cmd = New ADODB.Command
 
    'On Error GoTo erreur
 
    cmd.CommandText = requete
 
    Set rs = cmd.Execute '****
 
    msg = MsgBox(rs.RecordCount & "ligne(s) insérée(s) !", 0 + 64, "Insertion de données dans la base de données")
 
    con.Close
 
'Exit Sub
 
'erreur: msg = MsgBox("Erreur: " & Err.Number & vbLf & vbLf & Err.Description & vbLf & vbLf & "Erreur d'exécution de la requête !", 0 + 16, "Insertion de données dans la base de données")
 
End Sub
Mais au moment de l'exécution de ce dernier module, j'obtiens l'erreur suivante: "Run-time error '3709': Impossible d'utiliser cette connexion pour effectuer cette opération. Elle est fermée ou non valide dans ce contexte."

L'erreur est signalée à la ligne '****.

Merci à vous de m'éclairer sur ce problème. A plus.