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

Windows Forms Discussion :

ChecekdListBox et requête SQL


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut ChecekdListBox et requête SQL
    Bonjour à tous,

    Je suis débutante en C# et je dois réaliser un projet dans ce langage, mais je rencontre quelque problèmes :s

    Mon problème actuel est la suivant :

    Je souhaite lancer une requête dans ma base de Données SQLServer selon l'item sélectionné dans ma CheckedListBox.

    Pour cela, j'ai d'abord ajouté les catégories à ma CheckedListBox :

    Code :
    checkedListBox_Type.Items.Add("Etat");
    checkedListBox_Type.Items.Add("Defaut");
    checkedListBox_Type.Items.Add("Erreur");

    A la suite de cela, j'ai créé mes requêtes :

    Code :

    public void Recherche_Etat(DateTime Debut, DateTime Fin, bool Etat)
    {
    var Recherche = (from T_HISTORIQUE_SITE_71 in "PAU"
    select new
    {
    Debut, Fin , Etat
    }
    ).ToList();
    }

    public void Recherche_Defaut(DateTime Debut, DateTime Fin, bool Defaut)
    {
    var Recherche = (from T_HISTORIQUE_SITE_71 in "PAU"
    select new
    {
    Debut,
    Fin,
    Defaut
    }
    ).ToList();
    }

    public void Recherche_Erreur(DateTime Debut, DateTime Fin, bool Erreur)
    {
    var Recherche = (from T_HISTORIQUE_SITE_71 in "PAU"
    select new
    {
    Debut,
    Fin,
    Erreur
    }
    ).ToList();
    }

    puis je désire appeler l'une de ces requêtes selon la catégorie sélectionnée :

    Code :

    if (checkedListBox_Type.SetItemChecked(0, true) != 0)
    {
    moncontroleur.Recherche_Etat(Debut, Fin, Etat);
    }
    else if (checkedListBox_Type.SetItemChecked(1, true) != 0)
    {
    moncontroleur.Recherche_Defaut(Debut, Fin, Defaut);
    }
    else if (checkedListBox_Type.SetItemChecked(2, true) != 0)
    {
    moncontroleur.Recherche_Erreur(Debut, Fin, Erreur);
    }
    Avec :
    checkedListBox_Type.SetItemChecked(0, true) --> catégorie Etat
    checkedListBox_Type.SetItemChecked(1, true) --> catégorie Defaut
    checkedListBox_Type.SetItemChecked(2, true) --> catégorie Erreur

    Mais le problème c'est que le bout de code pour appeler mes requête n'est pas bon! J'ai que des erreurs :'( et je ne sais pas comment y remédier...

    Quelqu'un pourrait-il me venir en aide SVP?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Bonjour,

    Commence d'abord par mettre en forme ton code pour plus de lisibilité en utilisant la balise CODE (bouton #).
    Seconde remarque: tu parles de requête SQL alors que tu es en train de faire du LINQ.

    En général pour arriver à faire ce que tu souhaites, il faut:
    1. Alimenter ton checkedListBox comme tu l'as fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    checkedListBox_Type.Items.Add("Etat");
    checkedListBox_Type.Items.Add("Defaut");
    checkedListBox_Type.Items.Add("Erreur");
    2. Récupérer l'item sélectionné et construire une requête paramétrée pour retourner les enregistrements correspondants.
    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
     
    using System.Data.SqlClient;
    using System.Data;
    // ...
     
    string selectedCategorie= checkedListBox_Type.SelectedItem.ToString();
     
    // chaine de connexion
    string connectString = "database=mabase;server=am01;User ID=monlogin;pwd=xxxxxx";
    // Objet connection
     SqlConnection connection = new SqlConnection(connectString);
    // Ouverture
    connection.Open();
    // Objet Command
    SqlCommand command = new SqlCommand("SELECT * FROM T_HISTORIQUE_SITE_71 WHERE Categorie= @Categ", connection);
    // Paramètres
    command.Parameters.AddWithValue("@Categ", selectedCategorie);
     
    try 
    { 
      //Execution de la requête 
      myCommand.ExecuteNonQuery(); 
     
     // Tu écris le code de récupération des données ....
    } 
    catch (SqlException ex) 
    { 
      MessageBox.Show(ex.Message); 
    }
    Finally
    {
      Connection.Close(); 
    }
    N'oubliez pas le tag et

Discussions similaires

  1. [ DB2 ] [ AS400] requête sql
    Par zinaif dans le forum DB2
    Réponses: 6
    Dernier message: 23/08/2008, 20h42
  2. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 19h38
  3. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 17h26
  4. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 12h37
  5. Requête SQL
    Par Leludo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/02/2003, 17h44

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