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

Struts 1 Java Discussion :

preparedstatement - erreur sql


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Par défaut preparedstatement - erreur sql
    Bonjour,

    Je souhaite remplacer l'autentification à une application en utilisant preparedstatement à la place de statement pour une meilleure perf.

    voici le code que j'ai mis :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    package com.web.app.struts.action;
     
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
     
    import com.web.app.connexion.DBConnection;
    import com.web.app.struts.form.LogonForm;
     
    public class LoginAction extends Action {
     
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
     
    		LogonForm _form = (LogonForm)form;
    		String login = _form.getLogin().toUpperCase();
    		String password = _form.getPassword().toUpperCase();
    		int counter = 0;
     
     
    	    try {	
    			Connection myConnexion = DBConnection.getInstance().getConnection();
    			//Statement stmt = myConnexion.createStatement();
    			String sql = "SELECT * FROM COLLABORATEURS_TR WHERE INITIALES = ? AND COMMENTAIRE = ?";
    			PreparedStatement ps = myConnexion.prepareStatement(sql);
    			ps.setString(1, login);
    			ps.setString(2, password);
    			//String sql = "SELECT * FROM COLLABORATEURS_TR WHERE INITIALES = 'AALI' AND COMMENTAIRE = 'TEST'";
    			//ResultSet rs = stmt.executeQuery(sql);
    			ResultSet rs = ps.executeQuery(sql);
    				while(rs.next()){
    					counter++;
    				}
    				rs.close();
    				//stmt.close();
    				ps.close();
    				myConnexion.close();
    	      }catch(SQLException sqle){
    	    	  System.out.println(sqle);
    	      } 
     
    		HttpSession session = request.getSession(true);
    		if(counter > 0){
    			return mapping.findForward("success");	
    		}else{
    			return mapping.findForward("failure");
    		}	
    	}
    }
    et voilà l'erreur que je reçois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid call Statement method: {0}
    précision : j'utilise sqlserver comme bdd (et je sais que le preparedstatement ne fonctionne pas sous access et mysql mais fonctionne avec oracle).
    si quelqu'un a une idée ...

    merci

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Par défaut
    j'ai trouvé; il ne fallait pas passer la requete en argument dans le executequery(), il faut appeler la méthode sans argument.

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

Discussions similaires

  1. [sqlwindows] erreur sql
    Par chassonj dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 15/12/2003, 11h02
  2. [ODBC] erreur SQL pour les unions qui renvoient vide
    Par fabriceMerc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/11/2003, 11h06
  3. Erreurs SQL Server
    Par ZuZu dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 09/10/2003, 16h23
  4. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38
  5. erreur sql loader et performance
    Par mobisky dans le forum SQL*Loader
    Réponses: 14
    Dernier message: 20/08/2003, 12h27

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