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

Jasper Discussion :

comment attribuer une valeur à un parametre


Sujet :

Jasper

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Points : 34
    Points
    34
    Par défaut comment attribuer une valeur à un parametre
    Bonsoir,ceci va peut-être faire mon troisième post concernant le paramétrage de ma requête sql d'impression,j'avance quand même,mais je suis bloqué quant à l'attribution d'une valeur pour le paramètre, et j'ai juste besoin d'une explication.Je suis parvenu à travers le bouton imprimer de mon application à éditer un rapport,seulement il édite tout les enregistrements de la table,je voudrais arriver à éditer le rapport dont le numéro est "NumActeNaiss.getText()"en fait de façon dynamique puisque le numero n'est pas figé.Dans iReport,j'ai fait un click droit sur paramètre dans la boite "Structure du document"=>add=>parameter,dans la nouvelle boite apparue j'ai attribué "NumeroActe" au nom du paramètre,comme valeur par défaut j'ai attribué le champ "$F{acte_naissance_Num_Acte}" qui est le champ de ma table sur lequel je voudrais appliquer le where.Dans le champ "description de parametre" je ne sais pas ce qu'on doit y mettre,est ce là bas que qu'on doit associé une valeur au parametre ou si c'est pour juste faire une description du parametre ou s'il peut rester vide je ne sais.Moi j'ai associé a ce champ la valeur de mon JTextField "".
    voci le code SQL généré par iReport:

    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
    SELECT
         acte_naissance.`Num_Acte` AS acte_naissance_Num_Acte,
         acte_naissance.`Nom_Officier` AS acte_naissance_Nom_Officier,
         acte_naissance.`Fonction_Aut` AS acte_naissance_Fonction_Aut,
         acte_naissance.`Nom_Enfant` AS acte_naissance_Nom_Enfant,
         acte_naissance.`Sexe_Enfant` AS acte_naissance_Sexe_Enfant,
         acte_naissance.`Nom_Pere` AS acte_naissance_Nom_Pere,
         acte_naissance.`Nom_Mere` AS acte_naissance_Nom_Mere,
         acte_naissance.`Prof_Pere` AS acte_naissance_Prof_Pere,
         acte_naissance.`Domicile` AS acte_naissance_Domicile,
         acte_naissance.`Nom_Declarant` AS acte_naissance_Nom_Declarant,
         acte_naissance.`DatNaiss_Enfant` AS acte_naissance_DatNaiss_Enfant,
         acte_naissance.`Heure_NAiss` AS acte_naissance_Heure_NAiss,
         acte_naissance.`Lieu_Naiss` AS acte_naissance_Lieu_Naiss,
         acte_naissance.`Date_Declare` AS acte_naissance_Date_Declare,
         acte_naissance.`Date_Delivrance` AS acte_naissance_Date_Delivrance
    FROM
         `acte_naissance` acte_naissance
    WHERE
     acte_naissance.`Num_Acte = $P{NumeroActe}
    et voici l'erreur qu'il signale:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    *Remplissage du rapport…
     *Paramètres locaux*: français (France)
     *Fuseau horaire*: Par défaut
    Erreur*lors*du*remplissage*de*l’impression…*Error*executing*SQL*statement*for*:*test_essai2 
    net.sf.jasperreports.engine.JRException:*Error*executing*SQL*statement*for*:*test_essai2* ****at*net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:141)* ****at*net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:683)* ****at*net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:615)* ****at*net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1203)* ****at*net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:842)* ****at*net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:795)* ****at*net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)* ****at*net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)* ****at*net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)* ****at*it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:944)* ****at*java.lang.Thread.run(Unknown*Source)* Caused*by:*java.sql.SQLException:*Unknown*column*'acte_naissance.Num_Acte*=*null'*in*'where*clause'* ****at*com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2926)* ****at*com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)* ****at*com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666)* ****at*com.mysql.jdbc.Connection.execSQL(Connection.java:2978)* ****at*com.mysql.jdbc.Connection.execSQL(Connection.java:2902)* ****at*com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:933)* ****at*com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1027)* ****at*net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:135)* ****...*10*more* 
    L’impression n’est pas complétée. Essayez d’utiliser une EmptyDataSource...
    Aidez moi a pouvoir attribuer une valeur à ce parametre SVP.Merci

  2. #2
    Membre actif Avatar de Acrim
    Profil pro
    En recherche d'emploi
    Inscrit en
    Septembre 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Septembre 2010
    Messages : 134
    Points : 204
    Points
    204
    Par défaut
    Je ne pratique iReport que depuis 15 jours mais :

    Je ne comprends pas bien pourquoi tu veux affecter $F{acte_naissance_Num_Acte} à $P{NumeroActe}.

    La valeur du paramètre est transmise depuis le générateur/utilisateur. Normalement, dans le Report Inspector il y a une partie Parameters (puis clique droit "Ajouter parameter").

    Sinon directement au niveau de l’éditeur de requête dans la partie droite il y a un bouton "New parameter" qui permet de definir le nom, le type et la valeur par défaut du paramétré.
    « La science informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes. » — Edsger Dijkstra

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Points : 34
    Points
    34
    Par défaut comment imprimer à partir d'une application java
    salut,donc si je comprends bien on ne peut attribuer une valeur à un paramètre de façon dynamique?je ne sais pas si je vous comprends ou si c'est moi qui ne me fais pas comprendre mais je ne voudrais pas d'intervention de l'utilisateur dans l'édition du rapport,par exemple lui demandé de renseigner la valeur du paramètre,avant de l'imprimer.Je voudrais paramétrer iReport de sorte qu'il sache imprimer les données relatives au numéro actuel du JTextfield.Parce que l'à j'arrive à imprimer mais c'est tous les enregistrements de la table en question qui sont imprimés,vous vous imaginé?je veux que lorsque je cliques sur mon bouton imprimer que iReport m'imprime les données de l'enregistrement en cours et pas tout?j'espère que vous pourrez maintenant m'aider?merci à vous.

  4. #4
    Membre régulier Avatar de med_alpa
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    Un paramètre est utilisé pour passer des données (généralements des critères) depuis le code où on fait appel à jasper ou pour passer des données d'un report à un subReport.

    il ne faut donc pas l'utiliser pour stocker des valeurs des champs de la BD (ceci est utilisé avec des variables où on peut appliquer des sommes des moyennes etc).

    Ta question reste un peu floue.
    "Je n'ai pas de talents particuliers. Je suis juste passionnément curieux." Albert Einstein

  5. #5
    Membre actif Avatar de Acrim
    Profil pro
    En recherche d'emploi
    Inscrit en
    Septembre 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Septembre 2010
    Messages : 134
    Points : 204
    Points
    204
    Par défaut
    L'idée de rajouter un paramètre pour limiter les infos aux enregistrements qui t’intéressent est la bonne (en prenant en compte le paramètre dans ta requête). Apparemment c'est la partie initialisation du paramètre qui te pose problème. Je vais dans le sens de med_alpa. Le paramètre est passé par l'utilisateur lors de la génération du rapport, après jasper se charge d'aller chercher les infos et de les mettre en forme.
    « La science informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes. » — Edsger Dijkstra

  6. #6
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    coolanso : est ce que tu peux nous expliquer un peu comment tu lances ton rapport ? Tu utilises une application web ? directement iReport ?des services web ? ...
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


Discussions similaires

  1. Réponses: 3
    Dernier message: 21/09/2010, 08h19
  2. Réponses: 6
    Dernier message: 13/09/2010, 15h31
  3. Réponses: 15
    Dernier message: 05/01/2008, 19h47
  4. Réponses: 6
    Dernier message: 13/06/2007, 14h38
  5. [XSLT] Comment attribuer une valeur à un attribut?
    Par citizen87 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/10/2006, 15h12

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