Bonjour,

Je débute en VB.net avec mysql.

J'ai une classe qui gère ma connexion avec mysql

cl.mysql.vb
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 
 
Imports MySql.Data.MySqlClient
Public Class cl_mysql
 
    Dim conn As New MySqlConnection 'Adresse pour se connecter a la DB MySQL.
    Dim dta As MySqlDataAdapter 'Data adapter
    Dim dts As New DataSet 'Dataset
    Dim dtr As MySqlDataReader 'datareader
    Dim cmd As MySqlCommand
    Dim str_requete As String 'Chaine ou sera stocker les requetes
 
    'fonction d'enregistrement des variables user , pass ,serveur et eventuellement database 
    Function FONC_CONN(ByVal str_adresse As String, ByVal str_user As String, ByVal str_mdp As String, ByVal str_nom_db As String)
        'on ferme la connection si jamais elle existe
        conn.Close()
 
        'on attribut les variables de la nouvelle connection
        conn.ConnectionString = "Server=" & str_adresse & ";" _
                             & "User ID=" & str_user & ";" _
                             & "Password=" & str_mdp & ";" _
                             & "Database=" & str_nom_db & ""
        Return 1
    End Function
    'charger une table dans un dataset
    Function FONC_CHARGE_TABLE_DATASET(ByVal str_table As String)
        'on clear le dts si jammais il y a quelque chose
        dts.Clear()
        Try
            str_requete = "SELECT * FROM " & str_table & ""
            'on ouvre la connection
            conn.Open()
            'on execute la requete
            dta = New MySqlDataAdapter(str_requete, conn)
            'on rempli le dts avec la table demandée
            dta.Fill(dts, str_table)
            'on retourne le dts
            Return dts
            'si il y a une erreur
        Catch myerror As MySqlException
            'afficher le msg d'erreur
            MessageBox.Show("Error Connecting to Database: " & myerror.Message)
            Return 0
        End Try
 
    End Function
    'charger une table dans un datareader   
    Function FONC_CHARGE_TABLE_DATAREADER(ByVal str_table As String)
 
        Try
            str_requete = "SELECT * FROM " + str_table + ""
            'on ouvre la connection
            If conn.State = 0 Then conn.Open()
            'on execute la requete
            cmd = New MySqlCommand(str_requete, conn)
            dtr = cmd.ExecuteReader
            Return dtr
        Catch myerror As MySqlException
            'afficher le msg d'erreur
            MessageBox.Show("Erreur de connexion à la base de donnée: " & myerror.Message)
            Return 0
        End Try
 
    End Function
    'fonction pour enregistrer la base modifier ( on envoi en paramettre la table en cours )
    Function FONC_ENR_DB(ByVal data As DataSet, ByVal str_table As String)
        Try
            'commande de mise a jour de la base
            Dim MyCommBuild As New MySqlCommandBuilder(dta)
            dta.Update(data, str_table)
            Return 1
        Catch err As Exception
            'si erreur on affiche l'erreur et on charge la table de la base
            MsgBox(err.Message, MsgBoxStyle.Exclamation, "error")
            dts = New DataSet
            str_requete = "SELECT * FROM " + str_table + ""
            dta = New MySqlDataAdapter(str_requete, conn)
            dta.Fill(dts, str_table)
            Return dts
            Exit Function
        End Try
    End Function
    'fonction pour requete specifique
    Function FONC_REQ_MYSQL(ByVal query As String)
        dts.Clear()
        Try
            str_requete = query
            conn.Open()
            'on execute la requete
            dta = New MySqlDataAdapter(str_requete, conn)
            dta.Fill(dts)
            Return dts
            'on renvoi la table
        Catch myerror As MySqlException
            MessageBox.Show("Error Connecting to Database: " & myerror.Message)
            Return 0
        End Try
    End Function
 
End Class
Ensuite j'ai une form1.vb

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
 
Imports Agenda_coiffure.cl_mysql
Imports MySql.Data.MySqlClient
 
Public Class Form1
 
    'creer une instance de la class cl_mysql
    Dim db As New cl_mysql
    Dim dts As New DataSet
    Dim dtr As MySqlDataReader
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            db.FONC_CONN("127.0.0.1", "root", ";", "agenda_coiffure")
            'dts = db.FONC_CHARGE_TABLE_DATAREADER("tbl_statut")
            dtr = db.FONC_CHARGE_TABLE_DATAREADER("tbl_statut")
            While dtr.Read()
                ListView1.Items.Add(dtr.GetString(1))
            End While
 
        Catch ex As Exception
 
        End Try
    End Sub
End Class
Mon problème est que je n'arrive pas à récupérer les données de ma table: "TBL_statut" dans mon datareader==> dtr via la classe .

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 
dtr = db.FONC_CHARGE_TABLE_DATAREADER("tbl_statut")
            While dtr.Read()
                ListView1.Items.Add(dtr.GetString(1))
            End While
Je n'ai aucun message d'erreur, ma listview esr vide.
Je suis bien connecté a ma base de données.

Si quelle qu'un a une solution a me donner
ps: je suis débutant

Merci d'avance