IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Remplir une datagridview


Sujet :

C#

  1. #21
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Jinkas Voir le message
    J'ai aussi testé le code ci-dessous sauf que j'ai une exception de type InvalidCastException:
    Tu es sûr que c'est bien sur la ligne que tu as indiquée que l'exception se produit ? Parce que je ne vois pas comment cette instruction pourrait provoquer cette exception

    Par contre les lignes suivantes sont déjà plus suspectes... essaie d'utiliser Convert.ToInt32 au lieu d'un cast en int

    Citation Envoyé par Jinkas Voir le message
    Qu'en pensez vous?
    C'est bien, mais pourquoi utilises-tu une ArrayList, plutôt qu'une List<T> comme tu faisais au début ? La seule raison pour laquelle ArrayList existe encore, c'est pour la compatibilité avec le code existant. Il n'y a plus aucune raison de l'utiliser dans du nouveau code, les listes génériques n'offrent quasiment que des avantages...

  2. #22
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut
    ça marche merci!

    voici le code modifié:


    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
    34
    35
    36
    37
     
     private void btnRechercher_Click(object sender, EventArgs e)
            {
                //ArrayList sequence = new ArrayList();
     
                List<MyDetails> sequence = new List<MyDetails>();
     
                string connString = GetConnectionString();
     
                OracleConnection oraConn = new OracleConnection();
                try
                {
                    oraConn.ConnectionString = connString;
     
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection = oraConn;
                    cmd.CommandText =
                       "SELECT COL1, COL2, COL3 FROM MATABLE WHERE  COL1= 3 AND COL2= 1 AND COL3= 3";
     
                    oraConn.Open();
     
                    OracleDataReader reader = cmd.ExecuteReader();
     
                    while (reader.Read())
                    {
                        MyDetails m = new MyDetails();
                        m.Id = Convert.ToInt32(reader[0]);
                        m.Name = reader[1].ToString();
                        m.Age = Convert.ToInt32(reader[2]);
                        sequence.Add(m);
                    }
                    dataGridViewStat.DataSource = sequence;
                }
                finally
                {
                    oraConn.Close();
                }
    y a t-il quelque chose qui peut être amélioré dans le code?

    Merci,

  3. #23
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Jinkas Voir le message
    y a t-il quelque chose qui peut être amélioré dans le code?
    Plutôt qu'un try/finally, tu pourrais utiliser un bloc using, ce serait plus lisible. Et il faut faire la même chose pour la commande et le DataReader (en fait il faut le faire pour tous les objets qui implémentent IDisposable)


    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
            private void btnRechercher_Click(object sender, EventArgs e)
            {
                List<MyDetails> sequence = new List<MyDetails>();
     
                string connString = GetConnectionString();
                using (OracleConnection oraConn = new OracleConnection())
                {
                    oraConn.ConnectionString = connString;
     
                    using(OracleCommand cmd = new OracleCommand())
                    {
                        cmd.Connection = oraConn;
                        cmd.CommandText =
                           "SELECT COL1, COL2, COL3 FROM MATABLE WHERE  COL1= 3 AND COL2= 1 AND COL3= 3";
     
                        oraConn.Open();
     
                        using (OracleDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                MyDetails m = new MyDetails();
                                m.Id = Convert.ToInt32(reader[0]);
                                m.Name = reader[1].ToString();
                                m.Age = Convert.ToInt32(reader[2]);
                                sequence.Add(m);
                            }
                        }
                    }
                    dataGridViewStat.DataSource = sequence;
                }
            }

  4. #24
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Par défaut
    Merci,

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Débutant] Remplir une DataGridView avec un DataTable
    Par collisionv dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/04/2014, 21h33
  2. Remplir une datagridview avec un requête
    Par TikTak dans le forum C#
    Réponses: 3
    Dernier message: 18/03/2010, 16h40
  3. Réponses: 3
    Dernier message: 12/06/2009, 12h49
  4. Remplir une datagridview
    Par Lerchechem dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/06/2009, 23h38
  5. remplir une datagridview
    Par soul-31 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/05/2009, 18h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo