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 auto_increment


Sujet :

JDBC Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut problème auto_increment
    slt. je veut récupérer la valeur du dernier auto increment à partir d'un programme java. je veut utiliser , par exemple, select LAST_INSERT_ID(), mais j'arrive pas à récupérer le resultat de cette requete dans mon programme java. merci.

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Euh, tu pourrais être plus clair, car là, tu parles de requêtes SQL, d'auto-incrément...

    Tu veut récupérer l'id du dernier élément que tu as inséré dans une base de données, c'est ca ?

    Alors si c'est ca, tu emploies quoi comme api pour accéder à ta base de données ?

    Si c'est JDBC, personnellement, j'ai pas trouvé comment faire, à chaque insertion, je refais une requête derrière pour aller récupérer l'id

  3. #3
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Bonjour,

    Si tu désires récuperer l'identification de ton enregistrement, tu as la méthode getGeneratedKeys() (disponible depuis JDBC 3.0).

    Exemple (non testé):
    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
     
    /* Ouvre une connection */
    Connection conn = ....;
     
    /* Insère un enregistrement et indique que l'on désire récupérer les ID générés */
    Statement insertStmt = conn.createStatement();
     
    insertStmt.executeUpdate("INSERT INTO maTable ('monChamp') VALUES ('maValeur')", Statement.RETURN_GENERATED_KEYS);
     
    /* Récupération des IDs */
    ResultSet generatedKeys = stmt.getGeneratedKeys();
    while (generatedKeys.next())  {
       System.out.println("ID généré: " + generatedKeys.getInt(1));
    }
     
    /* on ferme la boutique */
    generatedKeys.close();
    insertStmt.close();
    Bien le bonjour chez vous
    Jowo

Discussions similaires

  1. Problème auto_increment toujours impair
    Par Eternel dans le forum Débuter
    Réponses: 5
    Dernier message: 21/07/2008, 15h18
  2. [Tables Access] Problème avec AUTO_INCREMENT non reconnu
    Par GuixInDaMixx dans le forum VB.NET
    Réponses: 4
    Dernier message: 15/05/2008, 18h01
  3. mysql problème primary key en auto_increment
    Par red210 dans le forum Outils
    Réponses: 2
    Dernier message: 01/08/2007, 13h18
  4. problème autour d'un champ en auto_increment
    Par phoque.r dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 15/06/2007, 13h41
  5. [SQL] Problème d'insertion du à un champ auto_increment ?
    Par toma03 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/06/2007, 16h29

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