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

JDBC Java Discussion :

Erreur "java.sql.SQLException: Can not issue executeUpdate() for SELECTs"


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 70
    Points : 53
    Points
    53
    Par défaut Erreur "java.sql.SQLException: Can not issue executeUpdate() for SELECTs"
    Bonjour,


    J'ai des exceptions lorsque j’exécute le code suivant code.

    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
     
    	public User getUserByName(Connection connection, String name) {
     
    		String sql = "SELECT * FROM user WHERE nom=? ";
     
    		User user = new User();
     
    		try {
    			PreparedStatement call = connection.prepareStatement(sql);
    			call.setString(1, name);
     
    			// retourn 0 si pas de résultats
    			if (call.executeUpdate() != 0) {
    				System.out.println("User trouvé");
    				ResultSet result = call.getResultSet();
     
    				while (result.next()) {
    					user.setId(result.getInt(1));
    					user.setName(result.getString("nom"));
    				}
    				call.close();
    				return user;
    			}
     
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		System.out.println("Secteur NON trouvé");
    		return null;
    	}

    et l'erreur :

    java.sql.SQLException: Can not issue executeUpdate() for SELECTs
    Secteur NON trouvé
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2320)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2280)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2265)

    etc ...

    je cherche simplement voir si dans la table il y a un (ou des) enregistrement(s) ayant le champs nom correspondant au paramètre, si c'est le cas, je renvoie un ResultSet, sinon je revoie null.

    Or la ligne «if (call.executeUpdate() != 0) { » me renvoie cette erreur étrange : «java.sql.SQLException: Can not issue executeUpdate() for SELECTs»
    Et on remarque que je ne rentre pas dans le if()



    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    c'est réglé,

    j'ai utilisé call.execute()


    puis
    if (!result.next()) return null

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/11/2010, 17h35
  2. Erreur intermitente java.sql.SQLException
    Par poti67 dans le forum JSF
    Réponses: 0
    Dernier message: 02/10/2008, 08h23
  3. java.sql.SQLException:Cursor not valid.
    Par TOPGUN89 dans le forum Websphere
    Réponses: 2
    Dernier message: 12/07/2007, 13h30
  4. Réponses: 7
    Dernier message: 11/08/2006, 09h24
  5. Réponses: 5
    Dernier message: 12/12/2005, 13h13

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