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

Servlets/JSP Java Discussion :

Envoyer donnée Servlet vers JSP


Sujet :

Servlets/JSP Java

  1. #61
    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
    Tu nous explique comment tu stocke un mois dans un type char?? Tu leur donne des lettres de A à L ?

  2. #62
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Pardon c'est pas pour mois mais pour une autre valeur. Mais je vois pas quand même comment on fait

  3. #63
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Le type char de base de données, c'est un type String en fait (on écrit char(50) par exemple, pour avoir 50 caractères). Donc on récupère la valeur par getString(). Si le type est char(1), on pourrait récupérer la valeur de type char par getString().charAt(0), mais, premièrement, je ne vois pas trop à quoi ça servirait (de le gérer en char, ou Character, plutôt qu'en String), deuxièmement, il faudrait qu'on soit sûr qu'il y ait toujours un caractère (un au moins), et troisièmement à la moindre évolution du paramétrage de la base, on serait obligé de modifier le code, parce qu'un char ne suffirait plus.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #64
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Merci
    J'ai cette requete qui ne passe pas en java alors qu'elle passe très bien dans mysql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    		Date dateJour = new Date();
    		SimpleDateFormat formater =  new SimpleDateFormat("yyyy-MM-dd");
    		String dateJours = formater.format(dateJour);
    		List<FicheFrais> lesFicheFrais = new ArrayList<FicheFrais>();
    		try{
    			statement = unAcces.connexionBdd().createStatement();
    			resultat = statement
    					.executeQuery("SELECT FicheFrais.id AS idFiche, Users.id AS idUser, Users.nom AS nom, prenom, fonction, mois, annee, statut, CAST(SUM(coutTotal) + SUM(montantTTC) AS DECIMAL (15,2)) AS total, CAST(SUM(montantTVA) AS DECIMAL (15,2)) AS totalTVA"
    							+ 	  "FROM DetailFiche"
    							+     "LEFT JOIN FicheFrais ON FicheFrais.id = DetailFiche.ficheFrais_id"
    							+ 	  "LEFT JOIN Users ON Users.id = FicheFrais.users_id"
    							+ 	  "WHERE statut = 'Validé' AND '"+dateJours+"'< DATE_ADD(dateValidation, INTERVAL 1 MONTH)"
    							+     "GROUP BY idFiche, idUser"
    							+     "ORDER BY annee, mois DESC");
    Sa me retourne rien en java alors que dans mysql sa me retourne bien un enregistrement

  5. #65
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Il n'y a pas de requête SQL et de requête Java : la requête que tu envoies via executeQuery en java est une requête SQL. Aussi faut-il exactement tester la même chose, c'est-à-dire la chaîne exacte que tu passes en argument de la méthode, pour comparer. C'est probablement à cause de la date mise "en dur", avec un format personnalisé, qui ne passe pas...

    Pour éviter les déconvenues dues au formatage, et éviter d'autres problèmes, utilises plutôt un PreparedStatement, ce qui te permettra de passer la date en type java, sans avoir à te préoccuper de la forme que le SGBD s'attend à avoir. Sinon, il faut respecter cette forme très précisément.

    EDIT : ce n'est peut être pas la date finalement, mais ça n'empêche pas d'utiliser quand même un PreparedStatement. Traces la chaîne exacte que tu envoies en requête SQL (avec System.out.println()) et tu verras tout de suite ce qui ne va pas (pour te mettre sur la voie, il manque des espaces quelque part à priori). Je suis (à moitié) étonné d'ailleurs que tu n'aies pas une SQLException : ne voyant pas le contenu du catch, je suppose que tu ne traces pas cette exception, donc tu ne voies pas que ta requête plante.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #66
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Sa fonctionne!!!
    Il manquait les espaces après les guillemets

  7. #67
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    		Date dateJour = new Date();
    		List<FicheFrais> lesFicheFrais = new ArrayList<FicheFrais>();
    		try{
    			PreparedStatement ps = unAcces.connexionBdd().prepareStatement("SELECT FicheFrais.id AS idFiche, Users.id AS idUser, Users.nom AS nom, prenom, fonction, mois, annee, statut, CAST(SUM(coutTotal) + SUM(montantTTC) AS DECIMAL (15,2)) AS total, CAST(SUM(montantTVA) AS DECIMAL (15,2)) AS totalTVA"
    							+ 	  " FROM DetailFiche"
    							+     " LEFT JOIN FicheFrais ON FicheFrais.id = DetailFiche.ficheFrais_id"
    							+ 	  " LEFT JOIN Users ON Users.id = FicheFrais.users_id"
    							+ 	  " WHERE statut = 'Validé' AND ? < DATE_ADD(dateValidation, INTERVAL 1 MONTH)"
    							+     " GROUP BY idFiche, idUser"
    							+     " ORDER BY annee, mois DESC");
                            ps.setDate(1,dateJour);
    			resultat = ps.executeQuery(
    Ainsi, pas besoin de chipoter les dates et le formatage. De plus, rien ne te garantis que le serveur mysql utilise le format que tu as passé en paramètres (yyyy-MM-dd) car ce format dépend d'information de Locale liée à la connection DB et ça peut très bien êter différente entre JDBC et la ligne de commande mysql!

    Enfin, ton erreur de départ, c'est que tu as oublié des espaces entre les mots clés => syntax error en SQL. Si tu ne vois pas le message, c'est surement qu'après ce try{ t'as un catch à la con qui ne fais pas son boulot, je parie pour le catch vide!


    EDIT: grillé

Discussions similaires

  1. recuperer des données de servlet vers jsp
    Par mdh12 dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 13/03/2011, 21h04
  2. Servlet Vers JSP
    Par miss_marrakchia dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 27/05/2008, 21h17
  3. Passer un attribut ou parametre d'une servlet vers jsp
    Par Titeuf82 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/04/2008, 23h07
  4. Passage de parametre Servlet vers JSP
    Par Ahmed0012 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 11/05/2006, 18h27
  5. [ SERVLET ] [JSP ] Redirection servlet vers JSP
    Par Enfa dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 23/02/2005, 14h55

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