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

 .NET Discussion :

besoin d'aide sur une recherche avec plusieur critères Optionnel


Sujet :

.NET

  1. #1
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 154
    Points : 55
    Points
    55
    Par défaut besoin d'aide sur une recherche avec plusieur critères Optionnel
    Bonjour,

    Je suis entrain de developper une application qui permet la recherche d'employés en fonction de quelques critères :
    Nom de la personne
    le service ou elle travaille
    la fonction qu'elle effectue
    je travaille en C# dotnet, et je trouve une difficulté à trouver un code bien fait (court et bien optimisé) pour ma recherche.

    voilà le mien :

    voilà ma classe ou j'ai mis la création de connexion Sql avec le data adapter et le dataset :

    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
    class Class_g
        {
     
            public static DataSet GetData(String StringConnexion,
                                          String Query,
                                          CommandType Type,
                                          SqlParameter[] Params)
            {
                DataSet DS = new DataSet();
                try
                {
                    SqlConnection SC = new SqlConnection(StringConnexion);
                    SqlCommand SCm = new SqlCommand(Query, SC);
                    if (Params != null)
                        SCm.Parameters.AddRange(Params);
                    SqlDataAdapter SAd = new SqlDataAdapter(SCm);
                    SAd.Fill(DS);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                return DS;
            }
     
        }
    et voilà mon code pour la recherche, qui s'effectue avec les 3 parametres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    string Connexion = "Data Source=TIMA;Initial Catalog=HOPITAL;Integrated Security=True";
                        string Query = "select * from personnel where nom = @paramN and service = @paramS and fonction = @paramF";
                        SqlParameter[] Params = {
                                                    new SqlParameter ("@paramN",textBox1.Text),
                                                    new SqlParameter ("@paramS",comboBox1.Text),
                                                    new SqlParameter ("@paramF",comboBox2.Text),
                                                };
                        dataGridView1.DataSource = Class_g.GetData(Connexion,Query,CommandType.Text,Params).Tables[0];
    ce code m'oblige à mettre les 3 critères pour pouvoir effectuer ma recherche, moi je veux un code qui si je rempli juste l'un de ses critère, ma recherche s'effectue :

    par exemple :
    -mettre juste le nom de la personne .
    mettre un nom + un service sans preciser la fonction .

    j'espère que j'etais claire,
    toute l'après midi j'ai galérer avec, mais sans resultat, quelqu'un peut m'aider Svp !?
    Merci beucoup d'avance

  2. #2
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 154
    Points : 55
    Points
    55
    Par défaut
    voilà:
    j'ai trouvé cette solution :

    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
    SqlConnection SqlC = new SqlConnection("Data Source=TIMA;Initial Catalog=HOPITAL;Integrated Security=True");
                        SqlCommand SqlCmd = new SqlCommand("select * from personnel where nom like @paramN and service like @paramS and fonction like @paramF", SqlC);
                        if (textBox1.Text.Length > 0)
                        {
                            SqlCmd.Parameters.AddWithValue("@paramN", textBox1.Text);
                        }
                        else
                        {
                            SqlCmd.Parameters.AddWithValue("@paramN", '%');
                        }
     
                        if (comboBox1.Text.Length >0)
                        {
                            SqlCmd.Parameters.AddWithValue("@paramS", comboBox1.Text);
                        }
                        else
                        {
                            SqlCmd.Parameters.AddWithValue("@paramS", '%');
                        }
     
                        if (comboBox2.Text.Length > 0)
                        {
                            SqlCmd.Parameters.AddWithValue("@paramF", comboBox2.Text);
                        }
                        else
                        {
                            SqlCmd.Parameters.AddWithValue("@paramF", '%');
                        }
                        SqlDataAdapter SqlD = new SqlDataAdapter(SqlCmd);
                        DataSet DS = new DataSet();
                        SqlD.Fill(DS);
                        dataGridView1.DataSource = DS.Tables[0];
                    }
    je n'ai pas travaillé avec ce que j'ai mi en haut !!

    quelqu'un peux m'aider pour mieux l'optimiser et me dire s'il y'en a d'autre façon plus developpée pour le faire !?
    Merci beaucoup

Discussions similaires

  1. Besoin d'aide sur une requête avec un MAX()
    Par lcristin dans le forum Langage SQL
    Réponses: 5
    Dernier message: 05/03/2013, 14h57
  2. Besoin aide sur une requête avec jointure
    Par PoichOU dans le forum Requêtes
    Réponses: 3
    Dernier message: 31/08/2010, 18h32
  3. Je recherche de l'aide sur une requête avec dates
    Par Alain CARDINI dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/05/2008, 22h11
  4. Besoin d'aide sur une requete avec jointure et MAX()
    Par droog dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/07/2007, 18h23
  5. VBA-E Comment réaliser une recherche avec plusieurs critères ?
    Par Larsen21 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 14/12/2006, 13h43

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