Voici un module qui utilise le mysql connector.

Code VB.NET : 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
Imports MySql.Data.MySqlClient
 
Module Outils_MySQL
    Public Structure Base
        Dim conn As MySqlConnection
        Dim lecteur As MySqlDataReader
 
        Public Sub Connexion(ByVal parametreConnexion As String)
            conn = New MySqlConnection(parametreConnexion)
            conn.Open()
        End Sub
 
        Public Sub Deconnexion()
            conn.Close()
        End Sub
 
        Public Sub RequeteLecture(ByVal myRequete As String)
            Dim myCommand As New MySqlCommand(myRequete)
            lecteur = myCommand.ExecuteReader()
        End Sub
 
        Public Function LectureLigne()
            Dim ligne() As String
            Dim compteur As Integer = 0
            MsgBox("Etat de la connexion : " & conn.State.ToString())
            lecteur.Read()
            Do While compteur < lecteur.FieldCount
                ligne(compteur) = lecteur.GetString(compteur)
            Loop
            Return ligne
        End Function
 
        Public Sub ArretLecture()
            lecteur.Close()
        End Sub
 
    End Structure
 
End Module

Je lance ma connexion, l'état de connexion est "Open" donc tout va bien.
Je fais la RequeteLecture puis la fonction LectureLigne et la erreur sur lecteur.GetString(compteur), il me dit que je ne peux pas le faire avant Read() et pourtant je le fais juste au dessus
J'ai testé le lecteur.Read() et il retourne False Pourtant FieldCount retourne 4 ce qui est juste car j'ai 4 colonnes de résultats donc ma requête est bonne. Quelqu'un a une idée du problème ?