Bonjour à tous,

Je viens de modifier tout mon poste car j'ai fais pas mal de modifications, au final j'y arrive toujours pas, lol.

Comme ma procédure stockée est en fait une fonction : elle dispose d'un return j'utilise le CallableStatement.

J'ai suivit très attentivement la FAQ JDBC, j'ai à peut prêt ligne pour ligne la même chose. Pourtant lors de l'exécution j'ai une erreur. D'après l'erreur (exception) générée mon string contenant ma chaine d'appel est mal fait. Mon premier " {" est refusé pourtant je le trouve dans la FAQ et dans un livre Java.

Si quelqu'un maitrise les CallableStatement je lui serais reconnaissant de m'aider.

Voici ma méthode, dans ma classe Connexion, qui s'occupe de la procédure stockée sur laquelle je suis :

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
 
public int nbRestant(int ref)//méthode d'appel de la procédure stockée nbRestant
    {
        int nb = 0;
        String req = "{? = nbRestant(?)}";//chaine d'appel de la procédure stockée
        try
        {
            //préparation de l'appel de la procédure
            CallableStatement cs = conn.prepareCall(req);
            //définition du paramètre de sortie
            cs.registerOutParameter( 1, Types.INTEGER);
            //définition du paramètre d'entrée
            cs.setInt(2, ref);
            //exécution
            cs.execute();
            nb = cs.getInt(1);
        }
        catch (SQLException e)
        {
            e.printStackTrace();
        }
        return nb;
    }