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 :

problème avec les dates zéro :0000-00-00 00:00:00


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Homme Profil pro
    Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Inscrit en
    Août 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 89
    Points : 96
    Points
    96
    Par défaut problème avec les dates zéro :0000-00-00 00:00:00
    Bonjour,
    j'ai un petit soucis avec les dates de type : 0000-00-00 00:00:00
    BD : mysql
    Dans une fonction java dans mon programme ,j'ai une requête de sélection de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String select = "SELECT a.numDoss,a.etape,a.dateEtape ,a.etatClient FROM BD.table1 as a ";
    Dans la table1 ;le champ dateEtape est de type date et peut être sous le format suivant: 0000-00-00 00:00:00
    comment faire pour le sélectionner ce champs et le récupérer comme un string
    l'erreur rencontrée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
    Dans mon code je récupéres le résultat de la requete et je le mets dans une chaine de caractère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	while (res.next()) {
     
    				if (!res.getString(3).toString().equals("0000-00-00 00:00:00")){
     				str1 += res.getString(1) + "|;" + res.getString(2) + "|;" + res.getString(3) + "|;" + res.getString(4) + "\n";
     				}
    			}
    Merci pour votre aide SVP .

  2. #2
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2008
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 251
    Points : 192
    Points
    192
    Par défaut
    En forçant le format de sortie pour ta colonne date.

    Quel base de données utilise-tu ?

    En PostgreSQL on ferait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select to_char(a.dateEtape, 'YYYY-MM-DD HH24-MI-SS')
    Ce qui te donne une string que tu peux traiter.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par karimoscapitated Voir le message

    Dans la table1 ;le champ dateEtape est de type date et peut être sous le format suivant: 0000-00-00 00:00:00
    Erreur, les dates n'ont pas de format. Il s'avère que peut éventuellement avoir une config suggérant au client d'afficher dans un foramt déterminé, mais au niveau de la DB on s'en bas les baloche et jdbc s'en bat aussi les baloches
    Citation Envoyé par karimoscapitated Voir le message
    comment faire pour le sélectionner ce champs et le récupérer comme un string
    Pourquoi alors que tu as une date à part entière, tu veux la contraindre à une pauvre string qui ne peut plus rien en faire? Tu en fera quoi après? Ta date se récupère comme un Timestamp. Tu la récupère avec resultSet.getDate()
    Citation Envoyé par karimoscapitated Voir le message
    ]

    Dans mon code je récupéres le résultat de la requete et je le mets dans une chaine de caractère :
    .
    Ben tu devrais pas. Après si tu veux représenter une date en java dans un format déterminé, c'est la classe DateFormat que tu dois utiliser.

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/11/2005, 11h43
  2. problème avec les dates!!
    Par JauB dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/10/2005, 09h16
  3. problème avec les dates nulles
    Par shingo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 30/09/2005, 12h32
  4. [SQL] problème avec les date et les group By
    Par Stef784ever dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2004, 09h18
  5. Interbase - dbExpress -> problème avec les dates
    Par marghett dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/07/2004, 03h55

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