Salut tout le monde...
Voila mon code me sert à determiner les dates ou aucune voiture n'est libre (pour ceux qui m'ont aider, merci, j'ai utiliser vos solutions SQL en JAVA (dsl mais je prefere) ).
J'ai verifier et il compare bien date_verif a date_debut et date_fin pour chaque reservation.
Bref le probleme c'est que je vois pas ce qui bug dans mon code mais les resultat sont faux et pire , ils sont aléatoires...
Si quelqun voit une erreur qu il me le dise a moins que sa vienne de la gestion des dates en JAVA...
merci d avance
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 int nbvoiture =2; for (int i = 0 ;i<vecteur_date_reservations.size();i++) { Date date_a_verifier = new Date(); date_a_verifier = (Date)vecteur_date_reservations.elementAt(i); int resultat = 0; resultat = Verif_date (date_a_verifier); // appel de la fonction if (resultat==nbvoiture) { vecteur_dates.addElement(date_a_verifier); } } private int Verif_date (Date date_verif) { int nbvoiturereserver = 0; // Verification du nombre de reservation correspondant à la date Properties properties = this.getJDOProperties(); PersistenceManagerFactory pmf= JDOHelper.getPersistenceManagerFactory(properties); PersistenceManager pm = pmf.getPersistenceManager(); Transaction tx = pm.currentTransaction(); tx.begin(); Extent extent = pm.getExtent(Reservation.class, true); Iterator it = extent.iterator(); while (it.hasNext()) { Reservation reservation = null; reservation = (Reservation) it.next(); Date date_debut_ancienne = new Date(); date_debut_ancienne.setDate(reservation.GetJourDebut()); date_debut_ancienne.setYear(reservation.GetAnneeDebut()); date_debut_ancienne.setMonth(reservation.GetMoisDebut()-1); date_debut_ancienne.setHours(reservation.GetHeureDebut()); date_debut_ancienne.setMinutes(reservation.GetMinuteDebut()); date_debut_ancienne.setSeconds(00); Date date_fin_ancienne = new Date(); date_fin_ancienne.setDate(reservation.GetJourFin()); date_fin_ancienne.setYear(reservation.GetAnneeFin()); date_fin_ancienne.setMonth(reservation.GetMoisFin()-1); date_fin_ancienne.setHours(reservation.GetHeureFin()); date_fin_ancienne.setMinutes(reservation.GetMinuteFin()); date_fin_ancienne.setSeconds(00); if ((date_debut_ancienne.compareTo(date_verif) <= 0) && (date_fin_ancienne.compareTo(date_verif) >=0)) nbvoiturereserver++; } tx.commit(); pm.close(); pmf.close(); return nbvoiturereserver; }
[ Modéré par SEMPERE Benjamin ]
Ajout des balises code
Les Règles du Forum
Partager