Problème d'initialisation JSpinner et SQL

Résolu/Fermé
Gloumy Messages postés 23 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 10 janvier 2014 - 19 mai 2012 à 00:34
Gloumy Messages postés 23 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 10 janvier 2014 - 19 mai 2012 à 12:25
Bonjour,
Je suis actuellement en train de coder un projet en Java pour mes examens, et je bute sur une ou deux petites choses..

Premièrement, je travaille avec 2 JSpinner pour afficher des dates que l'utilisateur doit modifier. J'ai initialisé le premier à 01-01-1990 (un peu au hasard), et voudrait initialiser le 2ème à la date du jour actuel. J'ai testé avec Calendar, GregorianCalendar, getTime(), à peu près tout ce que je trouvais comme solution sur le net, mais n'ai pas réussi à faire fonctionner comme je voudrais .. Actuellement, le code de ce JSpinner est :
 spDate2 = new JSpinner();
		spDate2.setModel(new SpinnerDateModel());
		spDate2.setEditor(new JSpinner.DateEditor(spDate2,"dd-mm-yyyy"));

Il n'y a donc plus rien pour initialiser car j'ai préféré essayer de repartir sur une base propre.

Deuxième problème, toujours avec les dates des JSpinners, concerne une requête SQL.
Le but étant d'afficher une liste d'installation (qui est répertoriée dans une base de données Access) entre les 2 dates données par les JSpinners. La date dans la base de données est en type Date/Heure.
Ca ne me renvoie pas d'erreur SQL, cependant le tableau d'affiche de la liste se crée, mais n'affiche aucune des installations, alors qu'il y en a qui correspondent aux conditions.

Ma méthode pour le tableau donne ceci :
if(cbType.getSelectedItem()== "Installation entre deux dates"){
				dateMin = new SimpleDateFormat("dd/mm/yyyy").format(spDate1.getValue());
				System.out.println(dateMin);
				dateMax = new SimpleDateFormat("dd/mm/yyyy").format(spDate2.getValue());
				System.out.println(dateMax);
		try{
					String requete = " SELECT Installation.IdInstallation as Ordre, Installation.DateInstallation as Date_Install, Installation.FkCodeOS as OS, Installation.FkSoftCode as Software, Installation.CommentaireInstallation as Commentaire, Installation.DureeInstallation as Duree, "
					+"Installation.RefProcInstallation as Référence, RespReseau.NomPrenom as Responsable"+
					" FROM RespReseau INNER JOIN Installation ON RespReseau.[CodeResp] = Installation.[FkCodeResp]"+
					" WHERE RespReseau.NomPrenom ='"+ cbRespRes.getSelectedItem()+"'"
					+" AND Installation.DateInstallation BETWEEN " +dateMin
					+" AND "+dateMax+";";
					
				
					
				System.out.println(requete);
				tMod = AccessDBGen.creerTableModel(
						MainFrame.getConnect(), requete);
				tInt = new JTable(tMod);
				tableIntScroll = new JScrollPane(tInt);
			}
			catch (SQLException e1) {
				e1.printStackTrace();
				System.out.println("Erreur SQL");
				
			}
		}




Si quelqu'un a une idée sur une erreur que j'aurais commise, je suis preneur ..
Merci d'avance

(PS:Désolé pour le code mal organisé niveau structure)
A voir également:

4 réponses

sakoba2010 Messages postés 157 Date d'inscription lundi 7 février 2011 Statut Membre Dernière intervention 24 juillet 2013 15
19 mai 2012 à 10:13
Qu'est ce que ton spDate2 affiche comme date?
0
Gloumy Messages postés 23 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 10 janvier 2014
19 mai 2012 à 10:57
Cela dépend, et c'est justement la raison pour laquelle je voudrais l'initialiser, car le jour et l'année sont corrects, mais le mois varie à chaque exécution, et il arrive parfois que le spinner commence en étant à 19-54-2012 ..
Les jours s'arrêtent bien à 31, puis repassent à 0, mais les mois vont jusqu'à 59 avant de reset
0
sakoba2010 Messages postés 157 Date d'inscription lundi 7 février 2011 Statut Membre Dernière intervention 24 juillet 2013 15
19 mai 2012 à 11:54
Essayez avec le constructeur de
SpinnerDateModel
avec 4 paramètres
SpinnerDateModel(initDate,
                             earliestDate,
                             latestDate,
                             Calendar.YEAR

pour mieux limiter. tu peux voir aussi cet exemple
http://java.mesexemples.com/non-classe/creer-et-modifier-une-date-a-laide-de-jspinner/
0
Gloumy Messages postés 23 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 10 janvier 2014
19 mai 2012 à 12:25
A présent la requête SQL passe et m'affiche bien les résultats qu'il faudrait, le seul problème restant est que le spDate2 ne s'affiche pas comme je voudrais, mais dans le pire des cas ça restera un problème mineur, je vais d'abord me concentrer sur le reste.

Merci Sakoba pour l'aide
0