Bonjour à tous !
Voici mon problème, j'ai une classe d'accès aux données qui contient une méthode GetInfoClient() (voir ci-dessous) qui doit me renvoyer un objet Client.
La classe Client contient un seul constructeur qui prend en paramètre un SqlDataReader.
Le problème est que je n'arrive pas à compiler car il me dit que la variable locale client n'est pas assignée et le problème se porte sur return client;
Bon, je comprends bien le message d'erreur... mais je voudrais savoir quelle méthode dois-je utiliser pour contrer ce problème ?!
Suis-je obligé de définir un constructeur vide pour instancier mon objet Client avant le using et ensuite faire une méthode Add() qui prendrait en paramètre le SqlDataReader ??
Merci d'avance pour vos réponses !
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 public Client GetInfoClient(string sNumero { try { Client client; using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = this.DbConnection; cmd.CommandText = "getInfosClient"; cmd.CommandType = CommandType.StoredProcedure; SqlParameter prmNumero= new SqlParameter("@numero", SqlDbType.VarChar, 50); prmNumero.Value = sNumero; cmd.Parameters.Add(prmNumero); using (SqlDataReader reader = cmd.ExecuteReader()) { if(reader.Read()) { client = new Client(reader); } reader.Close(); } } return client; } catch (Exception ex) { // } }
Lionel.
Partager