Comparer deux colonnes de sa base de donnée avec Qt
Soum9292
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 41526 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41526 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à vous,
Je me permets de vous déranger quelques instants car je rencontre un petit soucis avec mon programme actuellement.
Je dois créer une interface de réservation de salle, dans laquelle le professeur aura la possibilité de choisir une date, une heure la classe etc comme vous pouvez le voir ci-dessous.

Bon pour l'instant l'IHM n'est pas encore terminé, l'esthétique viendra par la suite.
Enfin bon, une fois que j'ai terminé d'envoyer mes différentes requêtes, les valeurs s'affichent comme ça

J'aimerai savoir si l'un d'entre vous pourrais m'indiquer de quelle façon je dois procéder pour créer un code me permettant de comparer deux lignes de ma table, pour éviter que deux professeurs réservent pour le même jour et la même heure.
Je vous remercie d'avance
Je me permets de vous déranger quelques instants car je rencontre un petit soucis avec mon programme actuellement.
Je dois créer une interface de réservation de salle, dans laquelle le professeur aura la possibilité de choisir une date, une heure la classe etc comme vous pouvez le voir ci-dessous.

Bon pour l'instant l'IHM n'est pas encore terminé, l'esthétique viendra par la suite.
Enfin bon, une fois que j'ai terminé d'envoyer mes différentes requêtes, les valeurs s'affichent comme ça

J'aimerai savoir si l'un d'entre vous pourrais m'indiquer de quelle façon je dois procéder pour créer un code me permettant de comparer deux lignes de ma table, pour éviter que deux professeurs réservent pour le même jour et la même heure.
Je vous remercie d'avance
A voir également:
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ?
- Supprimer les données de navigation - Guide
- Comment nettoyer un ordinateur qui rame - Guide
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif ci-dessous. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. il manque 5 valeurs dans le tableau ci-dessous. retrouvez-les dans votre tableau, puis reportez-les arrondies à l’entier le plus proche. - Guide
- Nettoyer son mac - Guide
- Tableau word - Guide
1 réponse
Bonjour,
Il faudrait pour cela que tu nous donnes la description de la table des réservations.
Et sur le fonctionnement, ce que l'on comprend, il n'y a qu'une seule salle, on réserve 1 jour et 1 heure (10-11, 14-15) ? puisque nous ne voyons pas le contenu des listes de valeur.
Ça c'est si tu programmes le sql dans ton interface.
Tu pourrais aussi mettre une clé unique sur jour/heure ce qui ferait que l'insertion à une date déjà prise échouerait, en testant le code retour tu pourrais envoyer un message "plage déjà réservée, choisissez en une autre".
Il faudrait pour cela que tu nous donnes la description de la table des réservations.
Et sur le fonctionnement, ce que l'on comprend, il n'y a qu'une seule salle, on réserve 1 jour et 1 heure (10-11, 14-15) ? puisque nous ne voyons pas le contenu des listes de valeur.
Ça c'est si tu programmes le sql dans ton interface.
Tu pourrais aussi mettre une clé unique sur jour/heure ce qui ferait que l'insertion à une date déjà prise échouerait, en testant le code retour tu pourrais envoyer un message "plage déjà réservée, choisissez en une autre".
alors la table ressemble à ça
Oui pour l'instant je fais uniquement le fonctionnement avec une salle de classe, mais quand je réussirai à ce qu'un professeur ne puisse pas réserver pour le même jour et la même heure, je pense que je pourrai me débrouiller il faudra rajouter une condition supplémentaire.
Et sur le fonctionnement, ce que l'on comprend, il n'y a qu'une seule salle, on réserve 1 jour et 1 heure (10-11, 14-15) ? puisque nous ne voyons pas le contenu des listes de valeur.
Oui c'est bien ça !
Le professeur choisi dans le menu déroulant des valeurs que j'ai prédéfini :
J'ai utilisé HeidiSQL pour créer ma base de donnée.
Une clé unique c'est une claire primaire ?
Mais dans ton cas tu pourrais faire de jour_reservation/heure_réservation la clé primaire, qui par nature est unique. Et donc l'insertion d'une même réservation echouera avec un code erreur.
Après que veux-tu/peux-tu faire dans ton interface ?
te diras si la plage est libre ou occupée.
NB : pas grave pour un exercice, mais dans une véritable application, jamais on n'utiliserait un champ texte contenant ce couple "heure debut - heure fin", on utiliserait 2 champs de type time, heure début, heure fin
une clé primaire ne peut qu'être utilisé une seule fois et ne peut pas inclure de valeur NULL tandis que la clé unique peut avoir une valeur NULL.
Désolé si je vous pose plusieurs questions je maitrise mal ( ça se voit ) les bases de donnée.
Mais dans ton cas tu pourrais faire de jour_reservation/heure_réservation la clé primaire, qui par nature est unique. Et donc l'insertion d'une même réservation echouera avec un code erreur.
La clé primaire ne peut être utilisé qu'une seule fois, donc je vois pas comment je peux l'associer au jour et à l'heure simultanément.
Dans mon interface je dois pouvoir réserver un créneau horaire unique, comme tu l'as compris plus haut.
J'ai pas très bien compris le code, le where est une condition c'est bien ça ?
"occupé" c'est le message qui va s'afficher si deux valeurs sont identiques ?
J'ai pas répondu au bon commentaire, la fatigue tout ça
"je maitrise mal ( ça se voit ) les bases de donnée." oui en effet si en sql tu demandes ce que c'est le WHERE, il faut que tu apprennes les bases du langage.
Le soucis c'est comment intégrer tout cela dans ton framework si tout se passe dedans, là je n'ai aucune idée.
et voir comment se comporte l'application quand tu insères un doublon