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 :

Interroger simplement une BD avec un champ de recherche


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 158
    Par défaut Interroger simplement une BD avec un champ de recherche
    Bonjour,

    je dois créer un petit "moteur de recherche" qui interroge une base de donnée SQL Server à l'aide d'une application windows form.
    J'ai regardé un peu comment fonctionne le contrôle DataGridView, j'en ai ajouté un dans la fenêtre de mon appli et suis parvenu à afficher le résultat de ma requête SQL dedans.

    Maintenant comment puis-je modifier les résultats de mes requêtes avec un champ de recherche (champ de texte avec bouton) ?

    Merci d'avance pour vos réponses et vos conseils.

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Si les database interrogées contiennent des tables avec au plus quelques centaines de milliers d'enregistrements, on peut :

    - faire un "SELECT *" pour remplir une DataTable avec toute la table.

    - binder la DataTable complète au DataGridView via un binding Source,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    BindingSource MyBindingSource = new BindingSource() ;
    MyBindingSource.DataSource = MyDataTable ;
    MyDataGridView.DataSource = MyBindingSource ;
    - jouer sur la propriété "Filter" du BindingSource pour n'afficher dans le DataGridView que les enregistrements souhaités :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyBindingSource.Filter= "Auteur='Dumas'" ;

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 158
    Par défaut
    Bonjour,

    petite précision je débute en C# et ne sait pas trop comment m'y prendre... je ne vois pas comment je peux filtrer mes enregistrement dans mon DataGrid... Y a-t-il des tutoriaux ou autre infos sur cette pratique qui doit surement être des plus courante?

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 70
    Par défaut
    Est-ce une recherche sur plusieurs colonnes? Sur plusieurs tables?
    Je crois que je préfèrerais que le SGBD filtre pour éviter des limites et des désagréments de mémoire.
    ça dépend de ta réponse à ma première questions mais a priori, moi j'utiliserais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from table where col1 like '%valeurtxt%' or col2 like '%valeurtxt%'
    n'hésite pas à poser plus de questions ou à apporter plus d’éclaircissements.

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/11/2007, 19h23
  2. [WD8] Remplir une table avec un champ combo
    Par momobulle dans le forum WinDev
    Réponses: 11
    Dernier message: 19/07/2007, 12h45
  3. Interrogation d'une base avec ASP
    Par souraf dans le forum ASP
    Réponses: 8
    Dernier message: 12/06/2007, 18h18
  4. [D7],[ADO] : ordonner une table avec des champs référencés
    Par iam dans le forum Bases de données
    Réponses: 3
    Dernier message: 07/11/2006, 21h36
  5. [C#] Remplir une combobox avec le champs d'une table Access
    Par Damsou dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/06/2005, 15h31

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