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 :

Debutant:Appel de procedure en JDBC


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Debutant:Appel de procedure en JDBC
    Bonjour,
    Dans le cadre d'n projet en JDBC avec BDD en oracle,
    je souhaite avoir votre aide pour verifier le resultat de l'appel d'une proc avec paramètres.
    je vérifie que le numéro du produit saisi par l'user est bien present dans la base, si ce n'est pas le cas, je renvoit un msg...
    Mais je n'arrive pas à recuperer/executer la proc et tester si c'est reussi ou pas, mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CallableStatement verifidprod = conn.prepareCall("{call verifier_id_produit(?)}");
    verifidprod.setInt(1,idproduit);
    verifidprod.execute();
    ResultSet results = verifidprod.executeQuery();
    if(results.next()){
         System.out.println("avant la fermeture de de ma methode de verifiaction de lid du produit ");
         verifidprod.close();
     
    ...
    Merci d'avance pour votre aide.

  2. #2
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Bonjour, il faudrait plutôt faire :
    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
    try {
        CallableStatement verifidprod = conn.prepareCall("{call verifier_id_produit(?)}");
        verifidprod.setInt(1,idproduit);
        verifidprod.execute();
        ResultSet results = verifidprod.getResultSet();
        while(results.next()){
            // ...
        }
    }
    finally {
        try {
            if(verifidprod != null) {
                System.out.println("avant la fermeture de de ma methode de verifiaction de lid du produit ");
                verifidprod.close();
            }
        }
        catch(SQLException e) {
            e.printStackTrace();
        }
    }
    Ce qui te manquait était la méthode getResultSet()
    Tu n'avais pas géré les fermetures correctement. (voir : Comment libérer proprement les ressources (ou comment utiliser proprement les bloc try/finally) ?)

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci, j'ai modifié, et j'ai une erreur...
    Je crois que "finally" se place dans un try...
    mon erreur...
    -bash-3.2$ javac Main.java
    Main.java:151: 'finally' without 'try'
    finally {
    ^
    1 error

  4. #4
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    J'ai bien mis un bloc try dans le code précédent.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/02/2010, 17h56
  2. Appels de procedures stockées dans une proc stockée ?
    Par Nadaa dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 17/07/2008, 10h32
  3. Réponses: 3
    Dernier message: 21/09/2004, 07h35
  4. [EJB] [Debutant] Appel d'EJB distants + divers
    Par LAlex dans le forum Java EE
    Réponses: 18
    Dernier message: 16/06/2003, 17h11
  5. Réponses: 1
    Dernier message: 04/06/2003, 11h48

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