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

JDBC Java Discussion :

Date retournée par getDate


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Par défaut Date retournée par getDate
    Je rencontre un problème avec JBDC 3.0 et SQL Server 2008 Express.

    Quand je fais une requête sur la base SQL SERVER pour récupérer une date, elle est systématique erronée.

    La date dans la base est bonne, mais celle retournée par getDate est systématiquement décalée de 2 jours.

    Je précise que le champ date sous SQL SERVER est du type date.

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur R&D en informatique
    Inscrit en
    Août 2011
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur R&D en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 313
    Par défaut
    Bonjour,

    C'est donc quoi exactement votre question ?

    C'est dans ta requête que tu utilise le getDate() ou à la récupération du résultat de la requête par getDate() de JDBC ?

    Plus de précision pour qu'on puisse te répondre.

    Cordialement.

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Par défaut
    Il s'agit de getDate de JBDC qui me renvoie la date contenue dans la base - 2 jours

    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
     
    {
    	//Statement stmt = null;
    	PreparedStatement stmt = null;
            ResultSet result = null;
            Antenne elt = new Antenne();	
     
    		try
    		{ 
    	           stmt = this.connect.prepareStatement("SELECT * FROM   Antennes  WHERE Id_ALI = ? ", ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    		   stmt.setLong(1,id);
    		   result  = stmt.executeQuery();
     
    		   if (result.first()) elt = new Antenne(id, result.getString("Code_ALI"), result.getString("Libelle"),
    					                              new AdresseDAO(this.connect).find(result.getLong("Id_adresse")), result.getString("Tel"), result.getString("Fax"),
    					                              result.getDate("Date_creation"));
    			System.out.println("Find date : " + result.getDate("Date_creation"));
    		}
    		catch(SQLException e) {
    								afficher_erreur(e.getMessage());
    		                    }
    		return elt;
    	}
    Je souhaite avoir de l'aide pour régler ce problème.

    Merci d'avance.

  4. #4
    Membre émérite

    Homme Profil pro
    Ingénieur R&D en informatique
    Inscrit en
    Août 2011
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur R&D en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 313
    Par défaut
    Salut,

    Ton code n'a pas de problème apparemment si tu as importé java.sql.Date. Je pense que le problème est au niveau de ton SGBD. Son serveur ne renvoi pas la bonne date. Ceci peut être du au fait que son timezone ou un truc de ce genre n'a pas été bien configuré, mais je n'en sais trop rien.

    Je te propose de regarder de ce coté là. Tu peux même faire une requête directement sur ton SGBD pour voir le résultat qu'il te renvoi et là tu peux mieux cerner où se situe le problème.

    Regarde aussi du côté de : getDate(String columnLabel, Calendar cal)


    En espérant que ces infos vont t'aider.

    Cordialement

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Par défaut
    Après de multiple recherches, le problème semble être un lié à la précision du type date sous SQL Server.

    En utilisant le type DateTime à la place de Date, les données retournées sont bonnes.

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

Discussions similaires

  1. [XL-2010] Appliquer Format Date "JJ/MM/AA" valeur retourner par une TextBox VBA
    Par ti_mouton dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/06/2015, 14h10
  2. Requete qui retourne une date précédée par un même préfixe
    Par Rozgann dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/07/2009, 14h32
  3. [Dates] Erreur retournée par le serveur
    Par gregal dans le forum Langage
    Réponses: 2
    Dernier message: 23/03/2007, 19h36
  4. Réponses: 2
    Dernier message: 21/03/2007, 16h52
  5. limiter le résultat retourné par le count
    Par SuperFoustan dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/08/2003, 12h10

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