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

Requêtes MySQL Discussion :

Problème requête


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Février 2012
    Messages : 4
    Points : 9
    Points
    9
    Par défaut Problème requête
    Bonjour,

    Je suis étudiante en développement, lors du développement de mon programme, je me suis retrouvé face à un petit problème de requête.
    Mon environnement de travail est du c# sur visual studio 2010 avec une BDD mysql.

    Le contexte :
    Cette application permet de mettre à jour l'ensemble des produits qui sont en location. Un client appel l’entrepôt pour réserver un produit. L'utilisateur doit être capable de répondre rapidement si le produit est disponible pour la date souhaité (s'il n'est pas déjà loué pour cette période).
    Donc l'utilisateur sélection la date de sortie du produit et la date d'entrée au dépot.
    Sur l'événement, de la case à cocher, on fait une vérification auprès de la BDD pour voir sa disponibilité.
    S'il n'est pas disponible, on affiche un message d'erreur.
    1er problème : requête sql
    2ème problème : comment vérifier si la requête renvoi un résultat pour afficher le message de non disponibilité ?


    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
    34
    private void checkedListBoxProduit_SelectedIndexChanged(object sender, EventArgs e)
            {
                string reference = ((Location)(checkedListBoxProduit.SelectedItem)).Reference.ToString();
                int idProduit = ((Location)(checkedListBoxProduit.SelectedItem)).ID;
                DateTime dateD = dateDebutLocation.Value;
                DateTime dateF = dateFinLocation.Value;
                factory = DbProviderFactories.GetFactory(leProvider);
                string strConnect = ConfigurationManager.ConnectionStrings["aplvlecs"].ConnectionString;
                maConnexion = factory.CreateConnection();
                maConnexion.ConnectionString = strConnect;
                maConnexion.Open();
                //Création de l'objet responsable de l'exécution des requêtes
                maCommand = factory.CreateCommand();
                maCommand.CommandText = "select* from jos_mleweb_louer where dateDeSortieProduitLouer <= '" + dateD + "' and dateDeSortieProduitLouer >= '" + DateTime.Now + "' and dateEntreeProduitLouer >= '" + dateF + "' and numProduit = " + idProduit;
                MessageBox.Show("select* from jos_mleweb_louer where dateDeSortieProduitLouer <= '" + dateD + "' and dateDeSortieProduitLouer >= '" + DateTime.Now + "' and numProduit = " + idProduit);
     
                maCommand.Connection = maConnexion;
     
                //Méthode qui ExecuteReader
                DbDataReader monLecteur;
                monLecteur = maCommand.ExecuteReader();
                monLecteur.Read();
                if (monLecteur.VisibleFieldCount != 0)
                {
                    //int idClient = (int)monLecteur["numClient"];
                    //checkedListBoxProduit.SelectedIndexChanged = ;
                    //checkedListBoxProduit.CheckedItems;
                }
                else
                {
                    MessageBox.Show("Votre produit n'est pas disponible pour cette durée");
                }
     
            }
    Et la BDD :

    Merci d'avance de l'aide que vous pourrez m'apporter

    Madleen

  2. #2
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Bonjour,

    Si je comprend bien, le problème se situe sur la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select* from jos_mleweb_louer where dateDeSortieProduitLouer <= '" + dateD + "' and dateDeSortieProduitLouer >= '" + DateTime.Now + "' and dateEntreeProduitLouer >= '" + dateF + "' and numProduit = " + idProduit
    Celle-ci ne retourne pas ce qui est souhaité. A priori, si je suis bien la demande, dateD et dateF sont les dates demandées pour une location nouvelle, c'est cela ?

    Si c'est le cas, les tests pour détecter un problème ne devraient-ils pas ressembler à :
    • la nouvelle location commence entre les dates de la location courante
    • la nouvelle location se termine entre les dates de la location courante


    Si aucune ligne n'en ressort, c'est que le produit est libre.
    Pensez au tag

Discussions similaires

  1. Problème: Requête utilisant NOT IN
    Par fages dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/05/2004, 10h18
  2. erreur3073 Problème requête
    Par amel123456789 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/04/2004, 10h15
  3. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 10h07
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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