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

JSF Java Discussion :

Erreur de conversion champ MYSQL TIME en java dans le fichier xhtml


Sujet :

JSF Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut Erreur de conversion champ MYSQL TIME en java dans le fichier xhtml
    Bonjour,

    J'ai ajouté à ma base MYSQL un champ "TIME afin de pouvoir saisir une Heure Minute seconde sous la forme
    HH:mm:ss dans mon formulaire xhtml

    J'ai saisie 10:10 et j'ai l'erreur suivante

    Cannot convert 01/01/70 10:10 of type class java.util.Date to class java.sql.Timestamp




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    En base
    ALTER table reportlines ADD line_hours_begin TIME;
     
    Dans le fichier chtml
     <h:outputLabel for="linehoursbegin" value="#{msg['beginhour']}" />
                            <h:inputText id="linehoursbegin" size="8"
                                         disabled="#{!entryBean.editable}"
                                         value="#{entryBean.currentLine.lineHoursBegin}">
                                         <f:convertDateTime type="timestamp" pattern="HH:mm:ss" timeZone="CET" />
                                <a4j:ajax execute="@this" render="@this" />
                            </h:inputText>
    Ou est mon erreur ?

    Merci d'avance
    Phil

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    et comment l´as tu declaré dans ton entité ainsi que dans ta Bean?

    Eric

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut
    Bonjour,

    La déclaration est
    Timestamp lineHoursBegin;

    le type java plus pret du type MYSQL TIME serait donc Date et pas TimeStamp ?
    J'ai fais les changement, et j'ai desormais une incorrect time value lors de l'insertion en base
    "Incorrect time value 1970-01-01"

  4. #4
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    cela devrait etre un truc de ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @Temporal(TemporalType.TIMESTAMP)
    Date lineHoursBegin;
    si tu utilises les entités pour mapper tes tables.

    Eric

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut
    Bonjour,

    Les insert dans ce projet se font dans des DAO directement en SQL , il n'y a pas d'utilisation d'annotation JPA.

    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
    fichier xhtml
     <h:outputLabel for="linehoursbegin" value="#{msg['beginhour']}" />
                            <h:inputText id="linehoursbegin" size="8"
                                         disabled="#{!entryBean.editable}"
                                         value="#{entryBean.currentLine.lineHoursBegin}">
                                         <f:convertDateTime type="time" pattern="HH:mm:ss" timeZone="CET" />
                                <a4j:ajax execute="@this" render="@this" />
                            </h:inputText>
    
        <h:panelGrid columns="1" styleClass="fullwidth"
                                 style="text-align: center">
                        <h:panelGroup
                            style="text-align: center; padding: 3px; valign: center; vertical-align: center;"
                            rendered="#{entryBean.editable}">
                            <h:commandButton action="#{entryBean.addAction}" value="#{msg['add']}"
                                             rendered="#{!entryBean.updateMode}"
                                             disabled="#{!entryBean.editable}" />
                            <h:commandButton action="#{entryBean.updateAction}" value="Update"
                                             rendered="#{entryBean.updateMode}"
                                             disabled="#{!entryBean.editable}" />
                            <h:commandButton action="#{entryBean.cancelAction}"
                                             disabled="#{!entryBean.editable}" value="#{msg['cancel']}" type="submit"
                                             immediate="true">
                                <a4j:ajax execute="@this" render="@form" />
                            </h:commandButton>
                        </h:panelGroup>
                    </h:panelGrid>
    
    
    La méthode de validation
     public String addAction() {
      DAOFactory.getDAOFactory(DAOFactory.MYSQL).getReportLineDAO()
                        .store(currentLine, currentUserId);
    
    Le DAO phyisque
    public void store(ReportLineTO r, long userid) throws DAOException {
    	stmt.setDate(11, new java.sql.Date(r.getLineHoursBegin().getTime()));

  6. #6
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    il te manque la l´ le jour/mois/année
    soit tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
     
    Le DAO phyisque
    public void store(ReportLineTO r, long userid) throws DAOException {
           Date date = new Date();
            date.setMinutes(r.getLineHoursBegin().getMinutes());
           date.setHours(r.getLineHoursBegin().getHours());
    	stmt.setDate(11, date);
    }

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut
    MERCI

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/05/2008, 13h45
  2. Enregistrer les champs et type des dataset dans un fichier
    Par Andry dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/03/2008, 14h09
  3. variable java dans un fichier js
    Par oussama127 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/04/2007, 18h32
  4. Erreur E/S 32 lors de l'écriture dans un fichier text.
    Par yosthegost dans le forum Delphi
    Réponses: 6
    Dernier message: 01/06/2006, 11h45
  5. Appel d'une methode java dans un fichier jsp
    Par kodo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/05/2006, 13h46

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