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 :

C# / Pointeur / ComboBox [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Par défaut C# / Pointeur / ComboBox
    Bonjour j'aimerais que lorsque je récupère une donnée de ma base (MySql phpmyAdmin) pour la mettre dans une ComboBox je la stock dans un tableau .

    Plus tard lors de mon programme je dois appuyer sur un bouton "rechercher" qui me permettra alors de rechercher une fiche selon certains critères (Les comboBOx). Au lieu de faire plusieurs appels des base de données, je souhaiterais faire appel à un pointeur qui pointera la colonne numéro 2 contenant les libellés (Valeur stockées au début" que je souhaite renvoyer .

    Voici ci dessous le morceaux de code de la première Combobox . Lors de l'éxécution l'erreur se trouve (VOIR 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
    private void Recherche_Load(object sender, EventArgs e)//Début des appels des ComboBox
            {
                try                                                                                                         //Début Try/Catch pour le ComboBox le Code d'Etat
                {
                    connection.Open();                                                                                      //Connexion à la base de donnée ouverte
                    CodeEtatFS_ComboBox_Home.DropDownStyle = ComboBoxStyle.DropDownList;                                    //ReadOnly sur la comboBox
     
     
                    string selectQuery = "SELECT Code_Etat , Lib_Code_Etat FROM cdh.etat ";
                    MySqlCommand command = new MySqlCommand(selectQuery, connection);                                       //Création de l'objet de la commande SQL
                    MySqlDataReader reader = command.ExecuteReader();                                                       //Déclaration de la nouvelle instance
     
                    while (reader.Read())
                    {
                        CodeEtatFS_ComboBox_Home.Items.Add(reader.GetString("Lib_Code_Etat"));
                        string[,] TableauEtat = new string[1 , 2]
                        {
                            {"Code_Etat","Lib_Code_Etat"},
     
                        };
                        char* Pointeur_Etat =  &CodeEtatFS_ComboBox_Home.Text; //////////////ERROR
     
                    }
                    connection.Close();
                }
                catch (MySqlException cn)
                {
                    MessageBox.Show(cn.Message);
                    connection.Close();
                }
    }
    Je débute en pointeur je sais pas quoi corriger

    merci pour l'aide

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,
    Je n'ai pas vraiment compris le but du pointeur dans ton cas mais utilise plutôt une List<String>.

  3. #3
    Membre confirmé
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Par défaut
    Bonjour en fait c'est la suite du programme de l'ancienne discussion. Au moment ou je clique sur "rechercher" je veux pouvoir accéder au tableau que j'ai crée lors du premier appel de la base.

    Je trouvais logique si par exemple lorsque j'appuie sur le bouton "rechercher" , cela crée un tableau 2D avec une colonne comportant une valeur booléenne (Le TRUE/FALSE représente si la combo-box est utilisée ou non) et une autre comportant tout les pointeurs pointant vers la valeurs des combo-box. Comme ça ensuite je fais une boucle WHILE qui parcours les lignes du tableau et qui ne traite que les valeurs en "TRUE" par exemple. Ce qui me permettra ensuite de faire des nouveaux appels des tableaux que j'ai crée au départ (Lors de la première communication avec la base) pour récupérer les libellés souhaités par l'utilisateur

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    C'est une très mauvaise idée de se substituer à la base de données pour faire des requêtes de filtre.
    En effet, le SGBD est fait pour ça, tandis que des boucles imbriquées sur des tableaux en mémoire va consommer du CPU et de la mémoire pour rien : ce sera pas multithreadé, les données ne seront pas à jour, etc.

    Par contre, j'ai rien compris à ton histoire de pointeurs.
    Déjà en C#, si tu as besoin de pointeurs, c'est que tu n'as pas compris le fonctionnement de C#. Au pire, si tu as besoin de travailler sur plusieurs handles d'un même objet (y compris les types valeur) tu peux travailler par référence (mot clé "ref").
    Les pointeurs c'est juste bon à faire des fuites mémoire et des violations d'accès comme on sait bien les faire avec C++.

  5. #5
    Membre confirmé
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Par défaut
    J'ai réfléchis et repris du recul sur le programme et effectivement les pointeurs ne sont pas la bonnes solutions.

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. [VB6] [Interface] ComboBox à plusieurs colonnes
    Par mtl dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/03/2004, 17h35
  3. djgpp et pointeurs far -2
    Par elvivo dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 29/07/2002, 22h43
  4. djgpp et pointeurs far
    Par elvivo dans le forum C
    Réponses: 2
    Dernier message: 13/07/2002, 00h44
  5. combobox->text
    Par clovis dans le forum C++Builder
    Réponses: 18
    Dernier message: 21/06/2002, 15h43

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