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 :

Récupérer un entier auto-généré


Sujet :

JDBC Java

  1. #1
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut Récupérer un entier auto-généré
    Salut !

    J'execute un insert sur une table où l'ID est auto-généré (auto_increment). J'aimerai récupérer cet ID, mais je n'ai pas trouvé comment.
    J'ai essayé de récupérer getKeysGenerated() du Statement sur lequel j'execute ma requete, mais ca ne me renvoie qu'un ResultSet vide.
    Je ne comprends pas comment récupérer cet ID auto-généré dont le nom de collone est "ID" tout simplement.

    Quelqu'un peut m'aider ?

    Merci

    Fred

  2. #2
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Comme toujours on cherche des heures, puis lorsqu'on a posté, on trouve ...

    Il faut executer la requete avec la fonction
    executeUpdate(String sql, int autoGeneratedKeys) en y passant Statement.RETURN_GENERATED_KEYS en deuxième paramètre. Ensuite seulement on peut utiliser getGeneratedKeys()

    Fred

  3. #3
    Membre habitué Avatar de scharly3
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Novembre 2008
    Messages : 121
    Points : 144
    Points
    144
    Par défaut
    Bonjour,

    J'ai un problème assez semblable avec JDBC et access...

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PreparedStatement pst = null;
    pst=c.prepareStatement(requete,PreparedStatement.RETURN_GENERATED_KEYS);
    Ensuite je souhaite récupérer mon id généré via la méthode classique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    pst.executeUpdate();
     
    ResultSet clefs = pst.getGeneratedKeys();
    if(clefs.next())
    {
        System.out.println("La première clef auto-générée vaut ");
        System.out.println(clefs.getObject(1));  
    }
    Or rien a faire, ça ne fonctionne pas ...

    Voila, merci de votre aide ...

  4. #4
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    As tu besoin d'un PreparedStatement ou peux tu te contenter d'un Statement ? D'après la doc, certains drivers ne supportent pas la précompilation.

    Si tu peux te contenter d'un Statement, essaie juste avec un Statement et dis nous si ça fonctionne.

    Cordialement

    F.

Discussions similaires

  1. [WD16] Récupérer le dernier Id Auto généré via ODBC
    Par Romanops dans le forum WinDev
    Réponses: 20
    Dernier message: 19/08/2011, 10h04
  2. Récupérer l'entier de stackTrace
    Par Baptiste Wicht dans le forum Général Java
    Réponses: 1
    Dernier message: 24/04/2007, 23h52
  3. Obtenir la valeur de l'id auto généré
    Par jdelges dans le forum DB2
    Réponses: 2
    Dernier message: 21/03/2007, 13h39
  4. Récupérer le numéro auto lors d'une insertion
    Par zoidy dans le forum Access
    Réponses: 5
    Dernier message: 27/04/2006, 11h20
  5. récupérer un entier dans le fichier ".rc"
    Par luffy0013 dans le forum MFC
    Réponses: 2
    Dernier message: 15/02/2005, 12h44

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