Récupérer un tableau retourné par une fonction

Signaler
Messages postés
8
Date d'inscription
lundi 31 août 2009
Statut
Membre
Dernière intervention
1 novembre 2012
-
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
-
Bonjour à toutes et à tous,

Voila je développe un programme en c# sous visual studio 2008 et je suis confronté à un souci. Voilà comment je procède :

- Via un bouton je me connecte à ma BDD MySql
- Je récupère le nom et prénom dans une table nommé étudiant (grâce à mon Reader)
- Je créer un objet tableau "tab_ele" de type struct de 2000 ligne
- Puis je met le tout dans ce derniers et je redimensionne mon "tab_ele" et supprime les lignes vide.
- Enfin à la fin de ma fonction je retourne évidemment un tableau structuré qui contient mon tableau "tab_ele" de, par exemple, 10 lignes


Ce que je souhaite faire c'est de récupérer ce tableau dans ma Class Main; comment je peux faire ça ?

Voici mon code pour ceux qui veulent plus de précision :

############## Main ################

private void btn_saisie_Click(object sender, EventArgs e)
{
   Class_Ajouter liste_des_eleve = new Class_Ajouter();

   if (CB_choix_sem.SelectedItem.Equals("") || CB_choix_mat.SelectedItem.Equals(""))
   {
       MessageBox.Show("Erreur, l'une des deux liste déroulante est vide !");
   }
   else
   {
       Grid_saisie_note.Enabled = true;
       CB_choix_sem.Enabled = false;
       CB_choix_mat.Enabled = false;
       
       //Appel de ma fonction qui importera la liste (nom et prenom) des élèves
       /*Je met quoi ici pour récupérer mon tableau ?*/ = liste_des_eleve.list_ele();
   }


############### Fonction #################

public Struct_ele_n_p[] list_ele()
{
     //Appel de la méthode Initialize
     DBConnect();

     //Appel de la méthode OpenConnection
     OpenConnection();

     //Création d'un objet tableau pour contenir la liste des élèves
     Struct_ele_n_p[] tab_import_ele = new Struct_ele_n_p[2000];

     MyCommand = Myconnection.CreateCommand();
     MyCommand.CommandText = "select nom_patronimique, prenom from etudiant where classe_actuel='Licence 3'";
     MyReader = MyCommand.ExecuteReader();

     //Parcours mon Reader pour remplir mon tableau
     while (MyReader.Read())
     {
           tab_import_ele[i].nom_ele = MyReader.GetValue(0).ToString();
           tab_import_ele[i].pre_ele = MyReader.GetValue(1).ToString();

           i = i + 1;
     }

     //Redimensionne mon tableau sur le ombre d'élève dans la liste 
     Array.Resize(ref tab_import_ele, i);

     //retourne mon tableau
     return tab_import_ele;

}

1 réponse

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Bonjour,

Simplement en affectant le retour dans un tableau ^^
Struct_ele_n_p[] = liste_des_eleve.list_ele();


_____________
Kenji