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 :

Problème avec un PreparedStatement & RETURN_GENERATED_KEYS


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Problème avec un PreparedStatement & RETURN_GENERATED_KEYS
    Bonjour, voilà je rencontre un petit problème avec un PreparedStatement et le RETURN_GENERATED_KEYS

    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
     
     
    String query = "Insert REQUEST(XmlQueryPath, Name) VALUES(?, ?)";
    PreparedStatement preparedStatement = connectdb.prepareStatement(query,PreparedStatement.RETURN_GENERATED_KEYS);
    	try{
    	  preparedStatement.setString(1, getXmlQueryPath());
    	  preparedStatement.setString(2, getName());
     
    	  preparedStatement.executeUpdate(); 
     
    	  ResultSet keys = preparedStatement.getGeneratedKeys();
    	  keys.beforeFirst();
     
    	  while(keys.next()) {
    		this.idRequest = keys.getInt(1);
    		System.out.println("Id Generated : "+idRequest);
    	 }
    	} catch (SQLException eSql) {
    		eSql.printStackTrace();	
    	} catch (Exception e) {
    		e.printStackTrace();	
    	} finally{
    		preparedStatement.close();
    	}
    Et l'erreur en retour est :

    java.lang.UnsupportedOperationException
    at sun.jdbc.odbc.JdbcOdbcConnection.prepareStatement(Unknown source)
    at module.Request.insertRequestdb(Request.java:93)
    at module.testing.main(testing.java:45)

    Quelqu'un aurait il une idée?
    J'ai vérifié sur plusieurs Forums et Post et apparement la syntaxe doit être correcte.

    La base de données une MSSQL 2000 sp4 et le jdk est le 1.5.0_08

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 572
    Points
    1 572
    Par défaut
    salut,
    tu es sur que la fonction 'REQUEST' existe en SQL ?
    a defaut que la requete SQL complete fonctionne (je ne vois pas dans de 'into' par exemple)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    REQUEST c'est le nom de la TABLE.

    Le INTO n'est pas obligatoire en MSSQL.
    La requête fonctionne correctement.

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Je présume que ta table REQUEST à une clé auto...
    Sinon, je serais d'avis de virer ceci

Discussions similaires

  1. Réponses: 15
    Dernier message: 23/08/2007, 15h47
  2. [Oracle]Problème avec PreparedStatement
    Par adrien.nicolet dans le forum JDBC
    Réponses: 3
    Dernier message: 07/03/2007, 14h35
  3. Problème avec un PreparedStatement
    Par Djangogol dans le forum JDBC
    Réponses: 3
    Dernier message: 23/04/2006, 23h19
  4. [JDBC]Problème avec PreparedStatement
    Par tomca dans le forum JDBC
    Réponses: 15
    Dernier message: 08/07/2005, 13h59
  5. Réponses: 5
    Dernier message: 19/08/2004, 11h11

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