Bonjour,

J'essaie de me connecter à une base de donné pour récupérer les données d'un utilisateur. Le problème c'est que lorsque je veux fermer mon objet SqlDataReader, je n'arrive pas.
Visual studio me dit que la méthode Close() n'existe pas alors que dans la documentation c'est écrit qu'elle existe.

Erreur CS1061 'SqlDataReader' ne contient pas de définition pour 'Close' et aucune méthode d'extension 'Close' acceptant un premier argument de type 'SqlDataReader' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante*?)
Je travaille avec .net Core.

Voici mon 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
public User getUser(string login)
        {
            string strRequete = "SELECT * FROM Users WHERE Login=@login";
            SqlCommand command = new SqlCommand(strRequete, connection);
 
            //Create parameters
            command.Parameters.Add(new SqlParameter("@login", System.Data.SqlDbType.VarChar, 50));
            //Affect parameters
            command.Parameters["@login"].Value = login;
 
            try
            {
                connection.Open();
 
                SqlDataReader reader = command.ExecuteReader();
 
                User user = null;
                while (reader.Read())
                {
                    user = new User(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), reader.GetString(3), 
                        reader.GetString(4), reader.GetString(5).ToCharArray()[0], reader.GetString(6), reader.GetString(7), reader.GetString(8), reader.GetBoolean(9));
                }
 
                reader.Close();
 
                connection.Close();
 
                return user;
            }
            catch (Exception e)
            {
                Console.WriteLine("L'erreur suivante a été rencontrée :" + e.Message);
            }
 
            return null;
        }
Est-ce que quelqu'un a déjà eu ce problème?