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 avec SelectedValue


Sujet :

C#

  1. #1
    Nouveau Candidat au Club

    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 27
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut Problème avec SelectedValue
    Bonjour les Amis. Cela fait plus d'un mois que je crack sur un probleme de comboBox. En effet j'ai reçu a faire en remplissage automatique les Noms des marche dans mon combobox issu d'un autre formulaire. Voici comment j'ai remplir mon comboBox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void Fillcombo()
            {
     
                string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\\Stage_ap\\BD\\MontHoreb.accdb";
                conn.ConnectionString = connectionString;
                conn.Open();
                OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT Code_Marche, Libelle_Marche FROM MARCHE", conn);
                DataTable dt = new DataTable();
                adapter.Fill(dt);
                cmbCodeMaPh.DataSource = dt;
                cmbCodeMaPh.DisplayMember = "Libelle_Marche";
                cmbCodeMaPh.ValueMember = "Code_Marche";
                conn.Close();
            }

    Cependant je veux enregistrer uniquement que la clé primaire des marches. D'abord j'ai crée une classe qui contient une Methode d'enregistrement et je l'appel en cas d'un enregistrement comme vous pouvez le voir ci-dessous:

    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
    //Methode pour Inserer des Donnees Dans la Base de Donnees
            public bool Insert(PhaseClasse c)
            {
                //Creation de valeur par defaut et le parametrer a faux
                bool isSuccess = false;
                //Connection a la Base de Donnee
                OleDbConnection conn = new OleDbConnection(myconnstrng);
                try
                {
                    //Creation de requette pour Inserer des Donnees
                    string sql = "INSERT INTO PHASE (Libelle_Phase, Code_Marche) VALUES (@Libelle_Phase, @Code_Marche)";
                    //Creation de Commande Utilisant sql et conn
                    OleDbCommand cmd = new OleDbCommand(sql, conn);
                    //Creation de parameters pour ajouter des Donnees
                    cmd.Parameters.AddWithValue("@Libelle_Phase", c.Libelle_Phase);
                    cmd.Parameters.AddWithValue("@Code_Marche", c.Code_Marche);
     
                    //Ouverture de la Connection
                    conn.Open();
                    int rows = cmd.ExecuteNonQuery();
                    //Si la requette s'effectue avec succes la valeur de la ligne sera plus grande 0 sino cette valeur sera 0
                    if (rows > 0)
                    {
                        isSuccess = true;
                    }
                    else
                    {
                        isSuccess = false;
                    }
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    //Fermeture de la Connection
                    conn.Close();
                }
                return isSuccess;
    Maintenant pour le Bouton Enregistrer voici comment j'ai procédé
    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
    private void btnAjouterPh_Click(object sender, EventArgs e)
            {
     
                //Obtention des Donnees dans les Champs de Saisir
                c.Libelle_Phase = txtBoxLibPh.Text;
                c.Code_Marche =cmbCodeMaPh.SelectedValue;
     
                //Insertion des Donnees dans la Base de Donnees de Notre Application
                bool success =c.Insert(c);
                if (success == true)
                {
                    //Insertion effectue avec succes
                    MessageBox.Show("Votre Enregistrement a ete effectue avec succes.Merci");
                    //Call the clear methode
                    Clear();
                }
                else
                {
                    //Enregistrement Non Effectue
                    MessageBox.Show("Enregistrement non effectue. veuillez reprendre SVP!");
                }
                //Load Data on DataGridView
                DataTable dt = c.Select();
                dgvPhase.DataSource = dt;
     
            }
    Cependant on me dit qu'il une erreur sur le SelectedValue.
    Voici l'erreu: Impossible de convertir implicitement le type 'object' en 'int'. Une conversion explicite existe (un cast est-il manquant*?)

    pour mieux illustrer cela voici un capture d'ecran que j'ai fait:

    Nom : Dev.PNG
Affichages : 184
Taille : 27,1 Ko


    S'il vous Plait aider moi!

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    après 5 bonnes secondes de reflexion, je dirais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c.Code_Marche =(int)cmbCodeMaPh.SelectedValue;
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Salut

    La réponse t'a déjà été donnée ici ou

    Quand des membres du forum se donnent du mal pour te répondre et te proposer des solutions, tu dois prendre le temps de les étudier : créer une nouvelle discussion qui pose la même question et prouve que tu ne lis même pas l'aide qui t'est fournie, à part énerver tout le monde et ne plus obtenir aucune assistance tu ne vas pas parvenir à grand chose (et je te fais cadeau du titre en majuscules…)

  4. #4
    Nouveau Candidat au Club

    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 27
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut Recuperation d'une cle primaire
    Problème résolue avec succès . Je mettrai la résolution plus tard. Merci pour votre aide!

  5. #5
    Nouveau Candidat au Club

    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 27
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut Remplissage du Combo Box
    effectivement c'est correcte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c.Code_Marche = (int)cmbCodeMaPh.SelectedValue;

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

Discussions similaires

  1. Problème radiobuttonlist avec selectedvalue vide
    Par Kylia dans le forum ASP.NET
    Réponses: 0
    Dernier message: 22/05/2014, 14h04
  2. Probléme avec combobox.SelectedValue
    Par misscricri dans le forum Windows Forms
    Réponses: 0
    Dernier message: 11/01/2012, 14h53
  3. problème avec un SelectedValue
    Par narutoe dans le forum C#
    Réponses: 6
    Dernier message: 20/12/2011, 09h46
  4. Problème avec selectedValue d'une dropdownlist
    Par AlphaOne dans le forum ASP.NET MVC
    Réponses: 2
    Dernier message: 24/08/2011, 11h41
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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