Problème de récupération membervalue depuis combobox

Signaler
Messages postés
18
Date d'inscription
mercredi 9 septembre 2009
Statut
Membre
Dernière intervention
18 mai 2013
-
Messages postés
15192
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
7 décembre 2021
-
Bonjour à tous,

Ceci est mon premier message et mes connaissances en c# sont très limitées, mais j’espère que vous me comprendrez

Voila, j'ai réalisé un programme qui affiche dans un combobox la propriété nom de tous les clients d'une base de données Access. Jusqu'ici pas de prob.

En dessous du combo se trouvent des textbox qui se remplissant en fonction du nom choisit dans le textbox. Pour cela j'utilise la propriété valuemember auquel j'assigne l'id du client.
Mon combobox est remplit a l'aide d'un datatable lui meme remplit par un dataset.
region Construction de la connection
            //Arangement du chemin de la prise de la base de donnée
            this.BDDPath = this.BDDPath.Substring(0, this.BDDPath.LastIndexOf("\"));
            
            //on crée le chemin de la connection a la base de donnée
            this.ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + this.BDDPath + "\\data.mdb";

            //on crée la connection a la base de donnée
            this.Conn.ConnectionString = this.ConnString;
            #endregion

            //on ouvre la connection
            this.Conn.Open();

            #region liste client
            //déclaration du data adapter pour le combobox
            OleDbDataAdapter Dta = new OleDbDataAdapter(this.SqlClient, this.Conn);

            //on leve l'exception
            try
            {
                //on rempli la dataset avec la table
                Dta.Fill(this.DtsClient, "client");
            }
            catch (Exception ex)
            {
                //affichage de l'érreur
                MessageBox.Show("Une Erreur est survenue, si cela persiste veuillez contacter au plus vite le programmeur");

                //on ferme la connection
                this.Conn.Close();
                MessageBox.Show(DtsClient.ToString());
                //on ferme la fenetre
                this.Close();

                //on quitte l'application
                Application.Exit();
            }

            //on rempli la liste avec le dataset
            this.DttClient = DtsClient.Tables["client"];

            //on rempli la listclass avec la list
            this.cb_client.DataSource = this.DttClient;

            //choix du champs de la liste
            this.cb_client.DisplayMember = "nom";

            //choix de l'id du champs
            this.cb_client.ValueMember = "id_client";
            this.Conn.Close();


Le probleme est que lorsque j'essaye d'enregistrer la valeur du value member correspondant a celui selectionner dans le combobox j'ai l'erreur suivante :
Input string was not in a correct format.


 j = cb_client.SelectedValue.ToString();
m_IndexDataSet = Convert.ToInt32(j.ToString());


Merci d'avance

1 réponse

Messages postés
15192
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
7 décembre 2021
101
Hello,
 j = cb_client.SelectedValue.ToString();
m_IndexDataSet = Convert.ToInt32(j.ToString());

D'après ce morceau, j est déjà une string. Inutile de refaire un ToString() dessus.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...