Quelle est la bonne méthode ?
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 ??
Code:
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)
{
//
}
} |
Merci d'avance pour vos réponses !
Lionel.