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 :

Code C# du bouton rechercher dans un datagridview avec plusieurs champs


Sujet :

C#

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Ingénieur informatique software engineering
    Inscrit en
    Novembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur informatique software engineering
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Code C# du bouton rechercher dans un datagridview avec plusieurs champs
    Bonjour,

    j'ai une form contenant un datagridview rempli à partir d'une BD un textbox et un bouton rechercher. Je veux rechercher avec tout mot (non pas seulement avec l'id).
    Par exemple, si je tape l'id, ou le nom, ou la datenaissance dans le textbox et avec clic sur le bouton rechercher, je veux avoir la ligne correspondante à mon mot saisi.

    Toute proposition sera appréciée et merci davance

    Voici un bout de mon 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
    using (OleDbCommand COMMANDE = new OleDbCommand())
                        {
                            //Association de la commande avec la connection
                            COMMANDE.Connection = CONNEXION_BASE;
     
                            COMMANDE.CommandText = "SELECT idAdherent, NomAd, DateNAd, dateInscriptionAd,TelAd, EmailAd  FROM Adherent WHERE idAdherent=@idt OR NomAd LIKE '%@nomt%' OR DateNAd like '%@dn%' OR dateInscriptionAd LIKE '%di%' OR TelAd LIKE '%@telt%' OR EmailAd LIKE '%@emailt%'";
                            int id = Convert.ToInt32(textBox1.Text);
                            COMMANDE.Parameters.Add("idt", id);
     
                            COMMANDE.Parameters.Add("nomt", textBox1.Text);
                            COMMANDE.Parameters.Add("dn",Convert.ToDateTime( textBox1.Text).ToShortDateString());
                            COMMANDE.Parameters.Add("di", Convert.ToDateTime(textBox1.Text).ToShortDateString());
                            COMMANDE.Parameters.Add("telt", textBox1.Text);
                            COMMANDE.Parameters.Add("emailt", textBox1.Text);
     
                            // Execution de la requette et lecture du résultat en mode connecté
                            OleDbDataReader reader4 = COMMANDE.ExecuteReader();
    }
    j'espère que quelqu'un pourra m'aider, et un grand merci

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonsoir,

    Il faut concaténer les % à tes valeurs passées en paramètre en faisant : '%' || @monParam || '%' au sinon il est prit comme un bête texte et non comme un paramètre : '%@monParam%', on le voit rien qu'avec la coloration syntaxique.
    Ce qui donne un truc du genre :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT idAdherent, NomAd, DateNAd, dateInscriptionAd,TelAd, EmailAd  FROM Adherent 
    WHERE idAdherent=@idt OR NomAd LIKE '%' || @nomt || '%' OR DateNAd like '%' || @dn || '%' OR dateInscriptionAd LIKE '%' || @di || '%' OR TelAd LIKE '%' || @telt || '%' OR EmailAd LIKE '%' || @emailt || '%'

    par contre cette méthode fonctionnera pour tous les champs de type text mais pas de type date, donc il faudrait enlever le champ dateInscriptionAd.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Ingénieur informatique software engineering
    Inscrit en
    Novembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur informatique software engineering
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci pour votre réponse,

    je vais essayer votre méthode et j'ai l'idée de faire décomposer la recherche, en premier avec l'id puis comme rech avancée suivant tout champ de dgv. N'est ce pas ?
    j'ai essayé cette méthode ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT idAdherent, NomAd, DateNAd, dateInscriptionAd,TelAd, EmailAd FROM Adherent WHERE idAdherent + ' ' + nomAd + ' ' + dateNAd + ' ' + dateInscriptionAd + ' ' + TelAd + ' ' + EmailAd LIKE '%" + textBox1.Text + "%'"
    ce qui me donne toujours exception indiquant qu'il ya un champs incompatible dans la chaine de critère 'qui est en fait l'id, les date' puisqu'il est impossible de les convertir.

Discussions similaires

  1. Bouton rechercher dans une bd avec sql server 2005
    Par beco800 dans le forum ADO.NET
    Réponses: 1
    Dernier message: 10/05/2010, 10h53
  2. recherche dans une séquence avec plusieurs prédicats
    Par Alain Defrance dans le forum JavaFX
    Réponses: 5
    Dernier message: 27/09/2009, 09h54
  3. [phpMyAdmin] Comment importer une colonne excel dans une BDD avec plusieurs champs ?
    Par guillaume7684 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 30/06/2009, 14h57
  4. Pb Count dans une requete avec plusieurs champ retournés
    Par maxos75 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 13/06/2008, 14h01
  5. Bouton Recherche dans access
    Par fouf_01 dans le forum VBA Access
    Réponses: 9
    Dernier message: 23/05/2006, 16h34

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