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 la clé attribuée


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Par défaut Récupérer la clé attribuée
    Bonjour à tous

    Est ce possible de récupérer la clé attribué à un tuple lors d'une insertion.

    Détails :
    En fait je fais une insertion comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String maRequete = "insert into maTable (id,nom) values (MaSeq.nextval,'monNom')";
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery(maRequete);
    et moi ce que je veux c'est de récupérer la clé que le maSeq.nextval m'a donné sans faire une requête.

    Merci et bonne soirée.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 139
    Par défaut
    Si j'ai bien compris tu veux recuperer la cle avant d'effectuer la requete?!

    Et pourquoi ne pas faire comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    int cle = MaSeq.nextval;
    String maRequete = "insert into maTable (id,nom) values (cle, 'monNom')";
    // ici tu as ce que tu veux avant meme ta requete.
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery(maRequete);

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Par défaut
    Citation Envoyé par Zorgz
    Si j'ai bien compris tu veux recuperer la cle avant d'effectuer la requete?!

    Et pourquoi ne pas faire comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    int cle = MaSeq.nextval;
    String maRequete = "insert into maTable (id,nom) values (cle, 'monNom')";
    // ici tu as ce que tu veux avant meme ta requete.
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery(maRequete);
    En fait j'ai trouvé une solution, elle ressemble à la tienne , mais je ne pense pas que tu peux faire ce que tu me dis car maSeq est une sequence Oracle.

    Donc ma solution c'est :
    d'effectuér un select sur la sequence comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     String recupereCle = "select maSeq.nextval from dual";
     rset = stmt.executeQuery(recupereCle);
     while (rset.next()){
       cle = rset.getString(1);
     }
    Aprés je fais un insert avec cette clé.
    Merci en tous cas.

Discussions similaires

  1. Récupérer le minimum d'une colonne et l'attribuer a un champ ..
    Par souhail72 dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 10/02/2014, 13h32
  2. Réponses: 2
    Dernier message: 05/05/2012, 01h57
  3. Réponses: 0
    Dernier message: 29/12/2011, 14h50
  4. Réponses: 11
    Dernier message: 23/07/2002, 14h33
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

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