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 :

Problème remplissage datagridview


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut Problème remplissage datagridview
    Bonjour,
    Sous visual studio 2005, j'ai une application C# avec mysql comme base de données avec une classe Connexion donct voici le code :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    using System;
    using System.Data;
    using System.Windows.Forms;
    using MySql.Data;
    using MySql.Data.MySqlClient;
     
    namespace VISTECH
    {
        public class Connexion
        {
            private string Parametres;
            private string DBName = "MaBasel" ;
            private string Server="localhost";
            private string Login="root";
            private string Password="";
     
          private MySqlConnection Connex;
     
           public MySqlConnection OpenBase()
           {
               Parametres = "Server=" + Server +
                                           ";Database=" + DBName +
                                           ";User ID=" + Login +
                                           ";Password=" + Password + ";";
     
               try
               {
     
                   Connex = new MySqlConnection();
                   Connex.ConnectionString = Parametres;
                   Connex.Open();
                   MessageBox.Show("Connection OK", "Cool", MessageBoxButtons.OK, MessageBoxIcon.Information);
               }
               catch (Exception)
               {
                   MessageBox.Show("Impossible de se connecter à la base de données","Erreur",MessageBoxButtons.OK, MessageBoxIcon.Error);
                   Application.Exit();
     
               }
     
               return Connex;
           } 
     
     
        }
    }
    Ensuite sur ma form ListeUsers, je veux remplir un datagridview avec les données provenant d'une de mes tables. J'utilise pour celà un dataAdapter et un dataset. Voici comment je procède :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     public partial class ListeUsers : Form
        {
            private Connexion AdoCnx;
            private MySqlCommand CmdSelect;
            //DataAdapter
            private MySqlDataAdapter MonDataAdapter;
            //Le Dataset
            private DataSet ds = new DataSet();
            private string AfficheSQL;
            public ListeUsers()
            {
                InitializeComponent();
            }
     
            private void ListeUsers_Load(object sender, EventArgs e)
            {
     
                AdoCnx = new Connexion();
                AdoCnx.OpenBase();
     
                try
                {
                    AfficheSQL = "SELECT * FROM users";
                    CmdSelect = new MySqlCommand(AfficheSQL,AdoCnx);
                    CmdSelect.CommandType = CommandType.Text;
                    MonDataAdapter = new MySqlDataAdapter(CmdSelect);
     
                //on vide le dataset
                ds.Clear();
     
                //On rempli le dataset
                MonDataAdapter.Fill(ds.Tables["users"]);
     
                this.dataGridView1.DataSource = ds.Tables["users"];
     
                }
                catch (Exception ex)
                {
     
                    MessageBox.Show(ex.Message,"Erreur",MessageBoxButtons.OK,MessageBoxIcon.Error);
                }
     
            }
     
     
        }
    Le code ci après génère 2 erreurs à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CmdSelect = new MySqlCommand(AfficheSQL,AdoCnx);
    dont voici les descriptions :
    1 -
    Erreur 1 La méthode surchargée correspondant le mieux à 'MySql.Data.MySqlClient.MySqlCommand.MySqlCommand(string, MySql.Data.MySqlClient.MySqlConnection)' possède des arguments non valides D:\workspace\windows\VISTECH\VISTECH\VISTECH\ListeUsers.cs 36 29 VISTECH
    2-
    Erreur 2 Argument '2' : impossible de convertir de 'VISTECH.Connexion' en 'MySql.Data.MySqlClient.MySqlConnection' D:\workspace\windows\VISTECH\VISTECH\VISTECH\ListeUsers.cs 36 57 VISTECH
    J'ai cherché la cause de ces erreurs en vain. Alors si quelqu'un peut me donner un coup de main, ce serait vraiment sympa. Merci d'avance.

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    c'est normal Connexion n'est pas une MySqlConnection.il faut que tu hérites de mySqlConnection ou le plus simple c'est d'utiliser MySqlConnection.

  3. #3
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Merci rattlehead. Mais peux-tu me montrer par code comment effectuer l'héritage ?

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Par défaut
    :

  5. #5
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Je vous prie de m'éclairer s'il vous plaît car je suis à mes débuts avec C# et j'ai besoin d'avancer dans mon projet. Mais là, je suis vraiment bloqué par ces erreus. Encore une fois, merci d'avance pour vous apports.

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MySqlConnection conn ;
    AdoCnx = new Connexion();
    conn = AdoCnx.OpenBase();
    mais il te manque quand même un CloseConnection.
    un conseil aussi les variables dans les classes prennent des minuscules. sinon on s'y perd.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisation remplissage DataGridView
    Par sibama dans le forum VB.NET
    Réponses: 18
    Dernier message: 27/08/2008, 11h05
  2. probléme dans datagridview
    Par saraenim dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/03/2008, 10h29
  3. Problème avec DataGridView
    Par andy38 dans le forum VB.NET
    Réponses: 10
    Dernier message: 24/01/2008, 02h14
  4. Problème avec DataGridView et Localizable
    Par blistex dans le forum ASP.NET
    Réponses: 3
    Dernier message: 10/07/2007, 16h28
  5. [ComboBox] problème remplissage
    Par samtheh dans le forum MFC
    Réponses: 5
    Dernier message: 18/06/2006, 10h58

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