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é ?
Et la BDD :
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"); } }
Merci d'avance de l'aide que vous pourrez m'apporter
Madleen
Partager