+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Homme Profil pro
    Inscrit en
    octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : octobre 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut Remplir un objet avec un dataset

    Bonjour,

    je débute en programmation, en C# et en Asp MVC 4 (ouf !). Je suis pas super fort donc d'aide et de patience serait les bienvenues !

    Je dois remplir une liste d'objet avec un dataset et j'ai un peu de mal à comprendre le fonctionnement.
    Code C# : 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
     
    Model - classe DAO
    namespace SkillyMVC4.Models
    {
        public class DAO_Trainings
        {
            SqlConnection _con = new SqlConnection();
     
            public DataSet ListeTrainings()
            {
                SqlCommand cd = new SqlCommand();
                SqlDataAdapter da = new SqlDataAdapter();
                _con.ConnectionString = WebConfigurationManager.ConnectionStrings["DBConnectionString1"].ConnectionString;
                DataSet ds = new DataSet();
                cd.CommandText = "SELECT Training.ID_Training, Training.Titre_Training, Training.Resume_Training, Training.Prix_Training, Training.IDCategorie, Training.Createur_Training FROM Training ORDER BY Training.Titre_Training";
                cd.Connection = _con;
                da.SelectCommand = cd;
                da.Fill(ds);
     
                return ds;
            }
        }
    }

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Model - classe training
     
    namespace SkillyMVC4.Models
    {
        public class Training 
        {
            public int Id_Training { get; set; }
            public string Titre_Training { get; set; }
        }
    }

    Code C# : 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
    Controller - TrainingsController
    
    namespace SkillyMVC4.Controllers
    {
        public class TrainingsController : ApiController
        {
    
            private SkillyMVC4.Models.DAO_Trainings dao_trainings = new DAO_Trainings();
            List<Training> listeTraining = new List<Training>();
                   
    
            public IEnumerable<Training> GetListeTrainings()       
            {
                List<Training> listeTraining = new List<Training>();
                DataSet ds = new DataSet();
    
                ds=dao_trainings.ListeTrainings();
                
                foreach (DataRow dr in ds.Tables[0].Rows) 
                {
                Training  training = new Training();
                training.Id_Training = dr.[0];
                    training.setNom_= (DataRow.NomdeChamp());
                    listeTraining.Add(training);
                }
    
                return listeTraining;
            }
            
        } 
    }

    C'est au niveau des caractères en gras que je percute pas.

    Merci d'avance !

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    février 2007
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : février 2007
    Messages : 530
    Points : 836
    Points
    836

    Par défaut

    Salut,

    Alors pour le lignes en gras:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach (DataRow dr in ds.Tables[0].Rows)
    {
    Training training = new Training();
    training.Id_Training = dr.[0];
    training.setNom_= (DataRow.NomdeChamp());
    listeTraining.Add(training);
    }
    => un dataset pourrait être assimilé à un classeur, il comporte plusieurs feuilles qui comporte chacune des colonnes et des lignes. Mais comme dans Excel on se sert que de la première feuille d'où le
    Ensuite on fais une boucle pour chaque ligne de notre feuille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach (DataRow dr in ds.Tables[0].Rows)
    Après quoi on ajoute la ligne de la feuille dans les résultats à retourner:

    euh ici je crois que tu as le "." entre dr et [0] en trop:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    training.Id_Training = dr.[0];
    Par contre, je vois pas trop ce que l'on veux faire avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    training.setNom_= (DataRow.NomdeChamp());
    Et voila,

    Ps: au lieu de mettre la balise citation, utilise celle "code" avec un dièse en icone.

  3. #3
    Invité de passage
    Homme Profil pro
    Inscrit en
    octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : octobre 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Merci de ta réponse. En fait, je suis passer par Entity Framework et une classe custom pour charger ma collection et c'est ok.

    Le thread peut passer en résolu. Merci à vous

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •