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:
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 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
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."
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
L'erreur est signalée à la ligne '****.
Merci à vous de m'éclairer sur ce problème. A plus.
Partager