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

Spring Java Discussion :

Requêtes SQL et servlets [Data]


Sujet :

Spring Java

  1. #1
    Membre averti
    Femme Profil pro
    etudiant
    Inscrit en
    Février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Février 2013
    Messages : 16
    Par défaut Requêtes SQL et servlets
    svp quand j'execute mon formulaire de connexion d'un utilisateur et je saisie un user déja inscrit il me génere l'erreur suivante:
    org.postgresql.util.PSQLException: Le nom de colonne password n'a pas été trouvé dans ce ResultSet. qcq sa veut dire?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Ca veux dire que tu a exécuté une requête sql ne retournant pas de colonne password, mais tu as quand même demandé au driver de la lire, ce qui est impossible.

  3. #3
    Membre averti
    Femme Profil pro
    etudiant
    Inscrit en
    Février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Février 2013
    Messages : 16
    Par défaut
    Merci Mr tchize_ pour votre réponse;j'ai po sue la corrigée
    voiçi mon code:

    ********La classe UtilisateurDaoImpl:*************

    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
    private static final String SQL_SELECT_PAR_EMAIL_PASS = "SELECT * FROM profil WHERE password=? and email = ?";
     
    public Utilisateur trouverMP(String email,String password)throws DAOException
    		{
    			Connection connexion = null;
    			PreparedStatement preparedStatement = null;
    			ResultSet resultSet = null;
    			Utilisateur utilisateur = null;
    			try {
    			/* Récupération d'une connexion depuis la Factory */
    			connexion = daoFactory.getConnection();
    			preparedStatement = initialisationRequetePreparee( connexion,SQL_SELECT_PAR_EMAIL_PASS, false, email,password );
    			resultSet = preparedStatement.executeQuery();
    			/* Parcours de la ligne de données de l'éventuel ResulSet
    			retourné */
    			if ( resultSet.next() ) {
    			utilisateur = map( resultSet );
    			}
    			} catch ( SQLException e ) {
    			throw new DAOException( e );
    			} finally {
    			fermeturesSilencieuses( resultSet, preparedStatement, connexion );
    			}
    			return utilisateur;
     
    		}
    **************La classe ConnexionForm:**************


    p
    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
    ublic final class ConnexionForm {
    private static final String CHAMP_EMAIL = "email";
    private static final String CHAMP_PASS = "motdepasse";
    private String resultat;
    private Map<String, String> erreurs = new HashMap<String,
    String>();
    UtilisateurDao utilisateurDao;
     
    public ConnexionForm( UtilisateurDao utilisateurDao ) {
    this.utilisateurDao = utilisateurDao;
    }
    public String getResultat() {
    return resultat;
    }
    public Map<String, String> getErreurs() {
    return erreurs;
    }
    public Utilisateur connecterUtilisateur( HttpServletRequest request ) {
    /* Récupération des champs du formulaire */
    String email = getValeurChamp( request, CHAMP_EMAIL );
    String motDePasse = getValeurChamp( request, CHAMP_PASS );
    Utilisateur utilisateur = new Utilisateur();

    /* Validation du champ email. */
    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
    39
     
    try {
    validationEmail( email );
    } catch ( Exception e ) {
    setErreur( CHAMP_EMAIL, e.getMessage() );
    }
    utilisateur.setEmail( email );
    /* Validation du champ mot de passe. */
    try {
    validationMotDePasse( motDePasse );
    } catch ( Exception e ) {
    setErreur( CHAMP_PASS, e.getMessage() );
    }
    utilisateur.setPassword( motDePasse );
     
    try {
    validationUser(email,motDePasse);
     
    }
     
    catch(Exception e){
    setErreur( CHAMP_EMAIL, e.getMessage() );
    setErreur( CHAMP_PASS, e.getMessage() );
    }
    utilisateur.setPassword( email );
    utilisateur.setPassword( motDePasse );
    /* Initialisation du résultat global de la validation. */
    if ( erreurs.isEmpty()) {
    resultat = "Succès de la connexion.";
    } else {
    resultat = "Échec de la connexion.";
    }
    return utilisateur;
    }
    private void validationUser(String email,String motDePasse)throws Exception {
    	if(utilisateurDao.trouverMP(email, motDePasse)==null && email!=null && motDePasse!=null) throw new Exception("utilisateur n'existe pas");
     
     
    }

    ***************La JSP:connexion.jsp:******************

    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
    39
    40
    41
    42
    43
    44
    45
    46
     
    <%@ page pageEncoding="UTF-8" %>
    <%@ page isELIgnored ="false" %>
    <%@page import="com.sdzee.bean.Utilisateur" %>
    <%@ page import="com.sdzee.forms.ConnexionForm" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>Connexion</title>
     
    <link type="text/css" rel="stylesheet" href="form.css" />
    </head>
    <body>
    <form method="post" action="connexion">
    <fieldset>
    <legend>Connexion</legend>
    <p>Vous pouvez vous connecter via ce formulaire.</p>
    <label for="email">Adresse email <span class="requis">*</span></label>
    <input type="email" id="email" name="email" value="<c:out value="${utilisateur.email}"/>" size="20" maxlength="60" />
    <span class="erreur">${form.erreurs['email']}</span>
    <br />
    <label for="motdepasse">Mot de passe <span class="requis">*</span></label>
    <input type="password" id="motdepasse" name="motdepasse" value="" size="20" maxlength="20" />
    <span class="erreur">${form.erreurs['motdepasse']}</span>
    <br />
    <input type="submit" value="Connexion" class="sansLabel" />
    <br />
    <p class="${empty form.erreurs ? 'succes' : 'erreur'}">${form.resultat}</p>
     
     
    <%-- Vérification de la présence d'un objet utilisateur en session --%>
    <c:if test="${!empty sessionScope.sessionUtilisateur} ">
     
    <%-- Si l'utilisateur existe en session, alors
    on affiche son adresse email. --%>
     
    <p class="succes">Vous êtes connecté(e) avec l'adresse : ${sessionScope.sessionUtilisateur.email}</p>
    </c:if>
     
    <br />
    </fieldset>
    </form>
    </body>
    </html>
    dsl pour le dérangement mais chui vraiment perdue,j'ai essayé toutes les possibilités sa n'a r1 donnée

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    On peux voir le code de map et de initialisationRequetePreparee ?

  5. #5
    Membre averti
    Femme Profil pro
    etudiant
    Inscrit en
    Février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Février 2013
    Messages : 16
    Par défaut
    private static Utilisateur map( ResultSet resultSet ) throws SQLException {
    Utilisateur utilisateur = new Utilisateur();
    utilisateur.setIduser( resultSet.getLong( "id_user" ) );
    utilisateur.setEmail( resultSet.getString( "email" ) );
    utilisateur.setPassword( resultSet.getString( "password " ));
    utilisateur.setNom( resultSet.getString( "nom" ) );

    return utilisateur;
    }

  6. #6
    Membre averti
    Femme Profil pro
    etudiant
    Inscrit en
    Février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Février 2013
    Messages : 16
    Par défaut
    public static PreparedStatement initialisationRequetePreparee( Connection connexion, String sql, boolean returnGeneratedKeys, Object... objets ) throws SQLException {
    PreparedStatement preparedStatement = connexion.prepareStatement( sql, returnGeneratedKeys ? Statement.RETURN_GENERATED_KEYS : Statement.NO_GENERATED_KEYS );
    for ( int i = 0; i < objets.length; i++ ) {
    preparedStatement.setObject( i + 1, objets[i] );
    }
    return preparedStatement;
    }

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    utilisateur.setPassword( resultSet.getString( "password " ));
    Il y a un espace en trop derrière password.

  8. #8
    Membre averti
    Femme Profil pro
    etudiant
    Inscrit en
    Février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Février 2013
    Messages : 16
    Par défaut
    merci pour votre repense,mais sa fonctionne tjr pas,
    une petite remarque j'ai déja utiliser la fonction map() dans l'inscription est elle fonctionne bien

  9. #9
    Membre averti
    Femme Profil pro
    etudiant
    Inscrit en
    Février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Février 2013
    Messages : 16
    Par défaut
    merci bcp Mr tchiz_ c réglé

  10. #10
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Par défaut besoin d'aide
    S'il te plait comment tu l'as rétabli tu peux m'envoyer le code de page ConnexionForm et UtilisateurDaoImpl et Connexion parce que ça marche pas pour moi aussi
    je te remercie infiniment

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

Discussions similaires

  1. Requête SQL
    Par Leludo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/07/2024, 15h41
  2. Réponses: 4
    Dernier message: 15/10/2014, 21h39
  3. [ DB2 ] [ AS400] requête sql
    Par zinaif dans le forum DB2
    Réponses: 6
    Dernier message: 23/08/2008, 19h42
  4. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37

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