C# - Procédure Stockée / Remplir une Liste
Bonsoir, j'ai un programme en c# qui consiste, suite à la connexion d'une personne, à remplir une liste avec les informations de son compte.
Ma classe Compte contient :
Code:
1 2 3 4 5 6 7 8 9 10 11
| private int Id;
private string Nom;
private string Prenom;
private DateTime Date_Naissance;
private string Rue;
private string Telephone;
private string Mail;
private string Pseudo;
private string MotDePasse;
private int Ogrine;
private int Argent_Reel; |
Lorsqu'il souhaite se connecter, je vérifie que les informations Pseudo et MotdePasse existent bien dans ma base avec cette méthode :
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
| try
{
SqlConnection cnx = new SqlConnection(@"Data Source=DESKTOP-LT7JAI2\SQLEXPRESS; Initial Catalog=Dafos1;Integrated Security=True; Pooling=False");
cnx.Open();
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand("seConnecter");
cmd.Connection = cnx;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Pseudo", SqlDbType.VarChar).Value = textBox_pseudo.Text;
cmd.Parameters.AddWithValue("@Mdp", SqlDbType.VarChar).Value = textBox_password.Text;
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
if(dt.Rows.Count==1)
{
MessageBox.Show("Connected !");
isConnected = true;
/*
Controleur.DAO myDao = new Controleur.DAO();
myDao.alimenterListeCompte(textBox_pseudo.Text);
*/
}
else
{
MessageBox.Show("Erreur dans l'authentification");
isConnected = false;
}
}
catch(IOException ex)
{
MessageBox.Show(ex.Message);
isConnected = false;
} |
Vous aurez sans doute remarqué les lignes suivantes dans mon code en commentaire :
Code:
1 2
| Controleur.DAO myDao = new Controleur.DAO();
myDao.alimenterListeCompte(textBox_pseudo.Text); |
Cette méthode comprends :
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
| public List<Modele.Compte> alimenterListeCompte(string myPseudo)
{
System.Windows.Forms.MessageBox.Show(myPseudo);
List <Modele.Compte> listeCompte = new List<Modele.Compte>();
SqlCommand cmd = new SqlCommand("ListeCompte");
cmd.Connection = cnx;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@compte_pseudo", SqlDbType.VarChar).Value = myPseudo;
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
int idCompte = Convert.ToInt32(reader.GetValue(0).ToString());
string prenomCompte = reader.GetValue(1).ToString();
string nomCompte = reader.GetValue(2).ToString();
DateTime dateNaissanceCompte = Convert.ToDateTime(reader.GetValue(3).ToString());
string rueCompte = reader.GetValue(4).ToString();
string telCompte = reader.GetValue(5).ToString();
string mailCompte = reader.GetValue(6).ToString();
string pseudoCompte = reader.GetValue(7).ToString();
string MotDePasseCompte = reader.GetValue(8).ToString();
int ogrineCompte = Convert.ToInt32(reader.GetValue(9).ToString());
int argent_reel = Convert.ToInt32(reader.GetValue(10).ToString());
Modele.Compte unCompte = new Modele.Compte(idCompte, nomCompte, prenomCompte, dateNaissanceCompte, rueCompte, telCompte, mailCompte, pseudoCompte,MotDePasseCompte,ogrineCompte,argent_reel);
listeCompte.Add(unCompte);
} |
Je ne sais pas du tout comment procéder pour la méthode ci-dessus. J'aimerai stocker les valeurs de ma table dans des variables, pour ensuite les introduire dans ma Liste.
Ma procédure comprends :
Code:
1 2 3 4 5 6 7
| CREATE PROCEDURE ListeCompte
@compte_pseudo varchar(55)
AS
BEGIN
Select * from dbo.Compte where Compte_Pseudo=@compte_pseudo
END
GO |
J'espère avoir était clair dans mes explications et attentes quant à mon code.
Je sais que parfois je ne m'exprime pas bien, je reste donc disponible pour toutes incompréhension quant à mes attentes !
En attente d'un retour, bonne soirée à vous.