Bonsoir tout le monde
Je veux faire une classe pour gérer un bouton qui permet d'afficher les informations d'un article recherché. ces articles se trouvent dans une table (sql server)
Je veux utiliser cette classe pour d'autres tables aussi (production et employees)

j'ai fait ce code dans la classe DataAccess:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Function Rechercher(ByVal req As String) As SqlDataReader
        cmd = New SqlCommand(req, con)
        con.Open()
        dr = cmd.ExecuteReader
        con.Close()
        Return dr
    End Function
et ce code dans le bouton rechercher (Article):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Protected Sub Rechercher_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Rechercher.Click
        req = "select * from Article where NumA='" & TextBox1.Text & "'"
        dr = prod.Rechercher(req)
        If dr.HasRows Then
            dr.Read()
            TextBox2.Text = dr(1)
            TextBox3.Text = dr(2)
            TextBox4.Text = dr(3)
        Else
            Label2.Text = "Article introuvable"
        End If
        dr.Close()
    End Sub
mais on me donne cette erreur dans le navigateur:
Tentative d'appel de HasRows non valide lorsque le lecteur est fermé.
qu'est ce que je dois faire pour résoudre ce problème svp?

Merci d'avance pour vos réponses