Comparer deux colonnes de sa base de donnée avec Qt
Fermé
Soum9292
Messages postés
3
Date d'inscription
vendredi 2 avril 2021
Statut
Membre
Dernière intervention
2 avril 2021
-
2 avril 2021 à 18:21
jee pee Messages postés 40600 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 28 décembre 2024 - 2 avril 2021 à 21:17
jee pee Messages postés 40600 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 28 décembre 2024 - 2 avril 2021 à 21:17
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 ?
- Nettoyer son mac - Guide
- Effacer les données de navigation - Guide
- Tableau croisé dynamique - Guide
- Nettoyer ordinateur portable lent - Guide
- Reinstaller windows sans perte de données - Guide
1 réponse
jee pee
Messages postés
40600
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
28 décembre 2024
9 467
2 avril 2021 à 18:34
2 avril 2021 à 18:34
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".
2 avril 2021 à 19:31
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 ?
Modifié le 2 avril 2021 à 19:47
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
2 avril 2021 à 20:15
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
Modifié le 2 avril 2021 à 20:34
"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.
Modifié le 2 avril 2021 à 21:18
et voir comment se comporte l'application quand tu insères un doublon