Placer le resultat d'une requête dans textbox

levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020 - 11 avril 2013 à 15:33
 MINDONGO - 11 avril 2013 à 16:52
Bonjour à tous
Je suis sur un projet et là j’ai un petit souci qui me bloque
1. J ai créé une List générique du type string dans laquelle j ai placé le résultat d’une requête de ma Base GesPaie.Employees(Access 2007) ;
2. J’ai affecté la liste dans un Combobox comboBoxEmployes ; du coup j’ai dans mon combobox la liste de tout les données de la table Employées plus précisément du champ Nom Jusque la il y a pas des soucis ;
3. Finalement j’ai fait une requête qui me permet de tirer le contenue du champ SalaireDeBase et le placer dans un TextBox c’est de là que viens mon problème car il affiche toujours le résultat du dernier enregistrement du champ SalaireDeBase et non pas celui se remportant au critère de sélection dans la clause where : string
Requette = "SELECT * FROM GesPaie.Employees WHERE SalaireBase LIKE '%"+comboBoxEmployes.SelectedIndex.ToString ()+ "%'";
Le code se présente comme dessus :
private void Form1_Load(object sender, EventArgs e)


        {
            
            MesDonnees.OuvertureConn();
            List<string> ListeEmployees = new List<string >();
            Requettes = "SELECT Nom FROM GesPaie.Employees";
            OleDbDataReader Reader = MesDonnees.SelectData(Requettes);
            
            while (Reader.Read())
            {
                //Affecte le resulat dans une Liste tout vas bien jusque là
                ListeEmployees.Add(Reader.GetValue(0).ToString ());
  
            }
             //Le combobox contient le resultat de la requette 
            comboBoxEmployes.DataSource = ListeEmployees;


 
            
        }



public void Recherche()
        {
            
            
            string Requette = "SELECT * FROM GesPaie.Employees WHERE SalaireBase LIKE '%"+ comboBoxEmployes.SelectedIndex.ToString ()+ "%'";

            OleDbDataReader reader = MesDonnees.SelectData(Requette);

            while (reader.Read())
            {
                //Quelque soit la données sélectionnée il affiche toujours 400

                TxtSalaireBase.Text = reader.GetValue(15).ToString ();
                
                
            }

           


        }
       


  private void comboBoxEmployes_SelectedIndexChanged(object sender, EventArgs e)
        {
            Recherche();


            
        }

4 réponses

 et si je ne me trompte ton
reader doit avoir un ExecuteReader();
while (reader.Read())
            {
                //Quelque soit la données sélectionnée il affiche toujours 400

                TxtSalaireBase.Text = (reader.GetString(15));
ou

                TxtSalaireBase.Text = "" + reader.GetStInt32(15)+ "";
                
            }



Soyons Toujours à la disposition des autres
0
levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020
11 avril 2013 à 16:16
Salut Mindongo
La solution propose n'a aucun résulta
La fonction suivant prend en paramètre la requête et fait le ExecuteReader
public OleDbDataReader SelectData(String Requette)

{
OuvertureConn();
Cmd = new OleDbCommand();
Cmd.Connection = Conn;
Cmd.CommandText = Requette;
return Cmd.ExecuteReader();
}

Merci
0
alors:
string Requette = "SELECT * FROM GesPaie.Employees WHERE SalaireBase LIKE '%"+ comboBoxEmployes.Text+ "%'";



Soyons Toujours à la disposition des autres
0
ou svp
string Requette = "SELECT * FROM GesPaie.Employees WHERE SalaireBase LIKE '%"+ comboBoxEmployes.SelectedItem+ "%'";





Soyons Toujours à la disposition des autres
0
Rejoignez-nous