Voici ma procédure toute bête pour comprendre comment ça marche :
Dans mon code j'ai fait une fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE PROCEDURE Test ( @nom varchar(20) ) AS RETURN 1 GO
L'appel à la fonction est faite ici :
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
24
25
26
27
28
29
30
31
32 public int executeStoredProcedure(String Pname){ String query = new String("{call "+Pname+"}"); try { CallableStatement cs = conn.prepareCall("{call "+Pname+"}"); ResultSet rs = cs.executeQuery(); return rs.getInt(0); } catch( SQLException se ) { log.error( "SQL Exception:" ) ; // Loop through the SQL Exceptions while( se != null ) { log.error( "State : " + se.getSQLState() ) ; log.error( "Message: " + se.getMessage() ) ; log.error( "Error : " + se.getErrorCode() ) ; se = se.getNextException() ; } } catch( Exception e ) { log.fatal("FATAL:", e); } return -1; }
Et je récupère comme résultat toujours -1 .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 //procédure stockée int resultat = tool.executeStoredProcedure("Test");
Pourquoi?
Merci
Partager