Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper > iReport
iReport Forum d'entraide sur iReport
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2007, 16h11   #1
Invité régulier
 
Inscription : juillet 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 12
Points : 5
Points : 5
Par défaut Problème de Date (Sybase)

Bonjour

Je suis plutôt débutant avec ireport.J
J'ai un problème lorsque je veux simplement afficher des dates contenues dans ma base.
Ma requête est simple :

"
SELECT
t_date."date" AS date
FROM
"dbo"."t_date" t_date
"

J'ai créé une zone de texte dans mon rapport Java.util.Date avec pour expression $F{date}.
Lorsque je crée mon rapport, ireport m'affiche l'erreur suivante :

"
Erreur lors du remplissage de l’impression… Error evaluating expression : Source text : $F{dadate}
java.lang.ClassCastException: java.sql.Timestamp
"

Chose curieuse : j'arrive à afficher des morceaux de date ( année, mois, jour ) avec écrivant l'expression "year(date)" dans ma requête.
Ceci pourrait suffir pour résoudre mon problème d'affichage mais, premièrement, je ne trouve pas cela très propre et, deuxièmement, cela rend ma tache laborieuse car j'ai pas mal de dates à décomposer ...

Je précise que mon SGBD est Sybase. J'ai essayé la même manipulation avec MySQL : aucun problème!

Merci pour toute aide.
chnink est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 19h27   #2
Invité régulier
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 9
Points : 9
Par défaut Problème de Date (Sybase)

A voir ton problème, il a l'air simple....
Apparemment tu as un problème de CastClass, il suffit donc de remplacer au niveau de ton modèle le type java.util.Date par java.sql.Timestamp.

Ensuite ce qu'il pourrait te faciliter la tâche c'est d'utiliser la notion de "Pattern" pour afficher la date au format attendu.

Exemple dans le fichier JRXML :
<field name="DATE" class="java.sql.Timestamp"/>
....
....
<band height="100" isSplitAllowed="true" >
<textField isStretchWithOverflow="false" pattern="dd/MM/yyyy">
<reportElement x="10" y="10" width="200" height="50"/>
<textFieldExpression class="java.sql.Timestamp">
<![CDATA[$F{DATE}]]>
</textFieldExpression>
</textField>
</band>
....
....

Très simple à utiliser avec iReport
yan.t est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 10h14   #3
Invité régulier
 
Inscription : juillet 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 12
Points : 5
Points : 5
J'avais déjà essayé cette solution. J'ai réessayé pour être sûr.

J'ai changé la classe de mon textfield en java.sql.Timestamp et mis un modèle de Date "dd/MM/yyyy". Ireport m'affiche l'erreur :

"Cannot cast from Date to Timestamp"

Une idée?
chnink est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h55.


 
 
 
 
Partenaires

Hébergement Web