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 confirmé
    Inscrit en
    Juin 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 154
    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 confirmé
    Inscrit en
    Juin 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 154
    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