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

Foxnono06 Messages postés 18 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 18 mai 2013 - 10 oct. 2011 à 18:13
BunoCS Messages postés 15342 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 26 janvier 2023 - 11 oct. 2011 à 09:01
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

BunoCS Messages postés 15342 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 26 janvier 2023 103
11 oct. 2011 à 09:01
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...
0
Rejoignez-nous