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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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;
    }

+ 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