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

Persistance des données Java Discussion :

Récupérer date table SQL avec getDate()


Sujet :

Persistance des données Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 15
    Points
    15
    Par défaut Récupérer date table SQL avec getDate()
    Bonjour à tous ,

    Voila je souhaite récupérer une date précise de ma table sql.

    La colonne concerné 'Date_heure_convertie' est au format Datetime.
    J'ai donc utilisé la méthode getDate() avec le nom de la colonne.

    Mais malheuresement, eclipse me renvoi une erreur comme quoi la colonne n'a pas été trouvé :




    Le but final sera de réutiliser cette donnée dans une nouvelle requete.

    Voiçi le bout de code concerné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ResultSet releve_Rame_401_caisse_26501 = instruction.executeQuery("select max(Date_heure_convertie) from table_temporaire_code_defaut WHERE Code = '1008' AND Caisse LIKE '%26501%'");
     
    	    			System.out.print(releve_Rame_401_caisse_26501.getDate("Date_heure_convertie"));

    La requete me renvoi une donnée unique , c'est pour cela que je n'effectue pas mon affichage dans une boucle.


    et la requete ou je souhaite le réutiliser :

    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
    ResultSet Rame_401_caisse_262501 = instruction.executeQuery("SELECT * FROM table_temporaire_code_defaut WHERE Caisse LIKE '%262501%' HAVING Date_heure_convertie > "+releve_Rame_401_caisse_26501.getDate("Date_heure_convertie")+" ORDER BY Date_heure_convertie");
     
     
    	                while(Rame_401_caisse_262501.next())
    	                {
    	                	System.out.println("Caisse: "+Rame_401_caisse_262501.getString("Caisse"));
    	                	System.out.println("Code: "+Rame_401_caisse_262501.getString("Code"));
    	                	System.out.println("Date_heure: "+Rame_401_caisse_262501.getString("Date_heure"));
    	                	System.out.println("Localisation_equipement: "+Rame_401_caisse_262501.getString("Localisation_equipement"));
    	                	System.out.println("\n"); 
     
    	                	if (Rame_401_caisse_262501.getString("Code").startsWith("C051"))
    	                	{
    	                		//System.out.println("*1*");
    	                			g.drawImage(bouton_rouge, 390, 70,this);	
    	                	}
    	                	else if (Rame_401_caisse_262501.getString("Code").startsWith("6") && Rame_401_caisse_262501.getString("Localisation_equipement").startsWith("CLV 1"))
    	                	{
    	                		//System.out.println("*3*");
    	                		g.drawImage(bouton_rouge, 300, 50,this);
    	                	}

    voici le code erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.sql.SQLException: Column 'Date_heure_convertie' not found.

  2. #2
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Alors, pas mal de choses à dire sur ce code. Deja, en sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select max(Date_heure_convertie) from ...
    Par défaut, le nom de la colonne est indéfini lorsqu'on utilise une fonction dans le select. Si tu veux la recuperer par son nom, il faut explicitement la nommer en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select max(Date_heure_convertie) as nom_colonne from ...
    Ensuite, meme si cette requete ne renvoie qu'une ligne, il faut faire resultset.next(). Voir la javadoc pour plus de détails.

    Concernant la requete ou tu souhaites réutiliser ton résultat, tu construits celle-ci dans un string. Par conséquent, c'est la méthode Date.toString() qui sera appelée. Il faut verifier que le format est bon pour ta BDD. De plus celle-ci va tres probablement te demander des guillements autour de ta date (peut etre meme un cast explicite).

    Pour finir, l'utilisation de preparedStatement me parait plus appropriée de maniere générale et evite de trop se prendre la tete avec le passage de parametres. Ou bien faire les 2 requetes en une seule fois.

Discussions similaires

  1. Récupérer des valeurs SQL avec la fonction fetch()
    Par Invité dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 29/07/2010, 15h22
  2. Comment récupérer une table SQL SERVER 2005 ?
    Par _celine_ dans le forum Administration
    Réponses: 3
    Dernier message: 08/10/2009, 12h10
  3. cryptage de colonne d'une table SQL avec jasypt
    Par djolof dans le forum Sécurité
    Réponses: 0
    Dernier message: 19/06/2009, 16h13
  4. Inner Join entre deux tables SQL avec VB6
    Par Astragale dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/02/2009, 20h35
  5. Récupérer une erreur SQL avec TIBDataSet
    Par cgone dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/10/2006, 01h00

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