IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Problème d'affichage de date et heure de ma base dans un Jtable


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Economiste
    Inscrit en
    Décembre 2016
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Bénin

    Informations professionnelles :
    Activité : Economiste
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2016
    Messages : 114
    Par défaut Problème d'affichage de date et heure de ma base dans un Jtable
    Salut,
    j'ai un problème d'affichage de dates et heures que je n'arrive pas à comprendre. Dans ma base de données administrée par MySQL, j'ai une table client comportant plusieurs colonnes dont l'une de type DATETIME stock les dates et heures d'enregistrement des clients. Lorsque je lance la requête ''select * from client'' dans workbenk j'obtient le résultat m'affichant correctement la liste des clients avec leurs dates et heures d'enregistrement. Mais quand je lance cette même requête ''select * from client'' à partir de Java, je n'obtient que les dates seule et les heures ne sont pas affichées dans mon Jtable.
    Il faut noté que j'ai fait l'encapsulation de mes résultats dans un attribut de type java.util.Date puis je le récupère à l'aide de mes getter.
    Voici mon code :
    - côté métier
    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
    	public List<Client> ConsulterListNomClient(String nom_Cli) {
    		List<Client> cli = new ArrayList<Client>();
    		Connection conn = SingletonConnection.getConnection();
    		try {
    			PreparedStatement ps = conn.prepareStatement("select * from CLIENT where NOM_CLI like ?");
    			ps.setString(1, "%" + nom_Cli + "%");
     
    			ResultSet rs = ps.executeQuery();
    			while (rs.next()) {
     
    				Client cl = new Client();
    				cl.setIdCli(rs.getInt("ID_CLI"));
    				cl.setCodeCli(rs.getString("CODE_CLI"));
    				cl.setDate(rs.getDate("DATE"));
    				//System.out.println(rs.getDate("DATE"));
    				cl.setNomCli(rs.getString("NOM_CLI"));
    				cl.setPrenomCli(rs.getString("PRENOM_CLI"));
    				cl.setNomMereCli(rs.getString("NOM_MERE_CLI"));
    				cl.setPositionFamCli(rs.getInt("POSITION_FAM_CLI"));
     
    				cl.setAgeCli(rs.getDouble("AGE_CLI"));
    				cl.setSexeCli(rs.getString("SEXE_CLI"));
    				cl.setProfessionCli(rs.getString("PROFESSION_CLI"));
    				cl.setEthnieCli(rs.getString("ETHNIE_CLI"));
    				cl.setNiveauEtudeCli(rs.getString("NIVEAU_ETUDE_CLI"));
    				cl.setSituaMatriCli(rs.getString("SITUA_MATRI_CLI"));
    				cl.setVillageCli(rs.getString("VILLAGE_CLI"));
    				cl.setQuartierCli(rs.getString("QUARTIER_CLI"));
    				cl.setMaisonCli(rs.getString("MAISON_CLI"));
    				cl.setTelCli(rs.getInt("TEL_CLI"));
    				cli.add(cl);
    			}
    			ps.close();
    			rs.close();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return cli;
    	}
    -côté affichage
    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
    public void consulterNomClient() {
    		SimpleDateFormat sdf = new SimpleDateFormat(" dd/MM/yyyy HH:mm:ss");
    		MetierImpl metier = new MetierImpl();
    		String Code_Cli = txtNom.getText();
    		List<Client> client = metier.ConsulterListNomClient(Code_Cli);
    		model = new DefaultTableModel() {
    		};
    		model.setColumnIdentifiers(new Object[] { "N° ","N° dossier","Code ", "Date ", "Nom et prénom", "Sexe", "Profession",
    				"Quartier", "Téléphone" });
    		Object[] rows = new Object[9];
    		int a = 1;
    		for (Client cl : client) {
    			rows[0] = a++;
    			rows[1] = cl.getIdCli();
    			rows[2] = cl.getCodeCli();
    			rows[3] =sdf.format(cl.getDate());
    			rows[4] = cl.getNomCli() + ' ' + cl.getPrenomCli();
    			rows[5] = cl.getSexeCli();
    			rows[6] = cl.getProfessionCli();
    			rows[7] = cl.getQuartierCli();
    			rows[8] = cl.getTelCli();
     
    			model.addRow(rows);
    		}
    		table.setModel(model);
    		new AjustementJTable(table);
     
    	}
    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    il faut utiliser rs.getTimestamp() et non pas getDate()

    getDate() va te donner un objet de classe java.sql.Date, qui ne contiennent qu'un composant date calendaire et pas du tout d'information d'heure.
    Il est en effet assez malheureux que Java ait choisi des noms comme java.util.Date pour une classe qui contient date et heure, puis quand on commence à faire du SQL java.sql.Date ne contient pas l'heure et il faut utiliser Timestamp à la place.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Economiste
    Inscrit en
    Décembre 2016
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Bénin

    Informations professionnelles :
    Activité : Economiste
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2016
    Messages : 114
    Par défaut
    Merci pour votre aide. ça marche bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/06/2007, 08h44
  2. Problème d'affichage de date dans un Label
    Par L'aigle de Carthage dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 04/05/2007, 09h00
  3. Problème d'affichage de date dans une base de donnée
    Par Gouyon dans le forum C++Builder
    Réponses: 7
    Dernier message: 11/04/2007, 07h57
  4. Problème d'affichage de date sous access 2003
    Par FuNkY48 dans le forum Access
    Réponses: 7
    Dernier message: 11/12/2006, 14h04
  5. problème d'affichage de date
    Par Commodore dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/12/2005, 08h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo